Board index Programs with AI or Rules Enforcement Magic: The Gathering - Duels of the Planeswalkers Documentation
DOTP 2012 FUNCTIONS DECODED!!!
Moderator: CCGHQ Admins
DOTP 2012 FUNCTIONS DECODED!!!
by kevlahnota » 22 Jun 2011, 01:10
I managed to read some binary encoded .LOL files inside the functions folder from the extracted wads of DOTP 2012. I hope this will help. I don't know yet how to implement the MOD since we cannot repack the current WAD files from DOTP 2012 but I think others will find a way somehow.
COMPARTMENTIDS.LOL :
MISC.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_COUNTER_TYPE = -1005
COMPARTMENT_ID_FILTERED_CARD = -1006
COMPARTMENT_ID_FILTERED_PLAYER = -1007
COMPARTMENT_ID_DAMAGE = -1008
COMPARTMENT_ID_MULTICHOICE_ANSWER = -1100
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_HASTE = 0
CHARACTERISTIC_FIRST_STRIKE = 1
CHARACTERISTIC_DOUBLE_STRIKE = 2
CHARACTERISTIC_TRAMPLE = 3
CHARACTERISTIC_SHROUD = 4
CHARACTERISTIC_FLANKING = 5
CHARACTERISTIC_VIGILANCE = 6
CHARACTERISTIC_PHASING = 7
CHARACTERISTIC_FLASH = 8
CHARACTERISTIC_DEATHTOUCH = 9
CHARACTERISTIC_LIFELINK = 10
CHARACTERISTIC_CHANGELING = 11
CHARACTERISTIC_MUST_ATTACK = 12
CHARACTERISTIC_MUST_BLOCK = 13
CHARACTERISTIC_CANT_ATTACK = 14
CHARACTERISTIC_CANT_BLOCK = 15
CHARACTERISTIC_CANT_USE_ABILITIES = 16
CHARACTERISTIC_DOESNT_UNTAP = 17
CHARACTERISTIC_ISLANDWALK = 18
CHARACTERISTIC_PLAINSWALK = 19
CHARACTERISTIC_SWAMPWALK = 20
CHARACTERISTIC_FORESTWALK = 21
CHARACTERISTIC_MOUNTAINWALK = 22
CHARACTERISTIC_COMES_INTO_PLAY_TAPPED = 23
CHARACTERISTIC_CANT_BE_REGENERATED = 24
CHARACTERISTIC_DOESNT_DEAL_DAMAGE = 25
CHARACTERISTIC_DOESNT_DEAL_COMBAT_DAMAGE = 26
CHARACTERISTIC_CANT_HAVE_COUNTERS = 27
CHARACTERISTIC_CANT_BE_PLAYED = 28
CHARACTERISTIC_USE_TOUGHNESS_FOR_COMBAT_DAMAGE = 29
CHARACTERISTIC_INDESTRUCTIBLE = 30
CHARACTERISTIC_LIFELINK = 31
CHARACTERISTIC_ALL_CREATURES_MUST_BLOCK_THIS_IF_ABLE = 32
CHARACTERISTIC_MUST_ATTACK_EACH_TURN = 33
_CHARACTERISTIC_COUNT = 34
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_COUNT = 14
PLAYER_INTCHARACTERISTIC_EXTRA_LAND_DROPS = 0
PLAYER_INTCHARACTERISTIC_EQUIP_COST_ADJUSTMENT = 1
_PLAYER_INTCHARACTERISTIC_COUNT = 2
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_FORTIFIED = 2
PARENT_CHILD_ENCHANTED = 3
PARENT_CHILD_OTHER = 4
COLOUR_COLOURLESS = 0
COLOUR_RED = 1
COLOUR_GREEN = 2
COLOUR_BLACK = 3
COLOUR_BLUE = 4
COLOUR_WHITE = 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
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
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
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_MAX = 30
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_BADGES = 268435456
FILTER_EXTRA_FLIP_PLAYER_INSTANCE = 536870912
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
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_REMOVED = 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_DEALT_COMBAT_DAMAGE = 28
TRIGGER_CREATURE_DEALT_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_HIT_GRAVEYARD = 44
TRIGGER_ZONECHANGE = 45
TRIGGER_SACRIFICE = 46
TRIGGER_SPELL_PLAYED = 47
TRIGGER_SPELL_RESOLVED = 48
TRIGGER_ABILITY_PLAYED = 49
TRIGGER_ABILITY_RESOLVED = 50
TRIGGER_LAND_PLAYED = 51
TRIGGER_COMES_INTO_PLAY = 52
TRIGGER_WAS_BLOCKED = 53
TRIGGER_CARD_CONSIDERED_FOR_TARGETTING = 54
TRIGGER_PLAYER_CONSIDERED_FOR_TARGETTING = 55
TRIGGER_EVASION_TEST = 56
TRIGGER_SPELL_BEING_COUNTERED = 57
TRIGGER_CREATURE_DEALT_COMBAT_DAMAGE_TO_CREATURE = 58
TRIGGER_STACK_PUSHED = 59
TRIGGER_STACK_POPPED = 60
TRIGGER_CREATURE_TOOK_COMBAT_DAMAGE = 61
TRIGGER_PLAYER_TOOK_COMBAT_DAMAGE = 62
TRIGGER_CREATURE_TOOK_NON_COMBAT_DAMAGE = 63
TRIGGER_PLAYER_TOOK_NON_COMBAT_DAMAGE = 64
TRIGGER_CREATURE_DEALT_COMBAT_DAMAGE = 65
TRIGGER_COMING_INTO_PLAY = 66
TRIGGER_SET_IN_MOTION = 67
TRIGGER_ABANDONED = 68
TRIGGER_PLAYER_LOSES_GAME = 69
_TRIGGER_COUNT = 70
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
_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
- 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
end
end
end
DiscardHand = function(l_2_0)
repeat
if CountCardsInHand(l_2_0) > 0 then
l_2_0:DiscardRandomCard()
else
end
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
end
end
end
PutTokenIntoPlay = function(l_5_0)
local l_5_1 = MTG():ObtainToken(l_5_0, Object():GetPlayer())
if l_5_1 ~= nil then
l_5_1:PutIntoPlay(Object():GetPlayer())
end
return l_5_1
end
MillCards = function(l_6_0, l_6_1)
repeat
repeat
if l_6_1 > 0 then
l_6_1 = l_6_1 - 1
until l_6_0:Library_GetTop() ~= nil
local l_6_2 = l_6_0:Library_GetTop()
l_6_2:PutInGraveyard()
l_6_2:GuidedReveal(ZONE_LIBRARY, ZONE_GRAVEYARD)
else
end
end
end
SearchLibrary = function(l_7_0, l_7_1)
Object():GetFilter():SetPlayer(l_7_0)
Object():GetFilter():SetZone(ZONE_LIBRARY)
Object():GetFilter():NotTargetted()
Object():GetPlayer():ChooseTargetWithFlags(l_7_1, QUERY_FLAG_CAN_BE_FINISHED_EARLY_CANCEL_EDITION)
end
SearchLibraryForNCards = function(l_8_0, l_8_1, l_8_2)
Object():GetFilter():SetPlayer(l_8_0)
Object():GetFilter():SetZone(ZONE_LIBRARY)
Object():GetFilter():NotTargetted()
Object():GetPlayer():SetTargetCount(l_8_2)
do
local l_8_3 = 1
repeat
if l_8_3 < l_8_2 + 1 then
Object():GetPlayer():SetTargetPrompt(l_8_3 - 1, l_8_1)
l_8_3 = l_8_3 + 1
else
Object():GetPlayer():ChooseTargetsWithFlags(QUERY_FLAG_CAN_BE_FINISHED_EARLY_CANCEL_EDITION)
end
end
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
TriggerObject = function()
local l_16_0, l_16_1 = MTG():EffectDataChest():Get_CardPtr, MTG():EffectDataChest()
local l_16_2 = COMPARTMENT_ID_PARAM_TRIGGER_OBJECT
return l_16_0(l_16_1, l_16_2)
end
TriggerPlayer = function()
local l_17_0, l_17_1 = MTG():EffectDataChest():Get_PlayerPtr, MTG():EffectDataChest()
local l_17_2 = COMPARTMENT_ID_PARAM_TRIGGER_PLAYER
return l_17_0(l_17_1, l_17_2)
end
SecondaryObject = function()
local l_18_0, l_18_1 = MTG():EffectDataChest():Get_CardPtr, MTG():EffectDataChest()
local l_18_2 = COMPARTMENT_ID_PARAM_SECONDARY_CARD
return l_18_0(l_18_1, l_18_2)
end
SecondaryPlayer = function()
local l_19_0, l_19_1 = MTG():EffectDataChest():Get_PlayerPtr, MTG():EffectDataChest()
local l_19_2 = COMPARTMENT_ID_PARAM_SECONDARY_PLAYER
return l_19_0(l_19_1, l_19_2)
end
IntegerValue = function()
local l_20_0, l_20_1 = MTG():EffectDataChest():Get_Int, MTG():EffectDataChest()
local l_20_2 = COMPARTMENT_ID_PARAM_AMOUNT
return l_20_0(l_20_1, l_20_2)
end
CounterTypeIndex = function()
local l_21_0, l_21_1 = MTG():EffectDataChest():Get_Int, MTG():EffectDataChest()
local l_21_2 = COMPARTMENT_ID_COUNTER_TYPE
return l_21_0(l_21_1, l_21_2)
end
Damage = function()
local l_22_0, l_22_1 = MTG():EffectDataChest():Get_Damage, MTG():EffectDataChest()
local l_22_2 = COMPARTMENT_ID_DAMAGE
return l_22_0(l_22_1, l_22_2)
end
FilteredCard = function()
local l_23_0, l_23_1 = MTG():EffectDataChest():Get_CardPtr, MTG():EffectDataChest()
local l_23_2 = COMPARTMENT_ID_FILTERED_CARD
return l_23_0(l_23_1, l_23_2)
end
FilteredPlayer = function()
local l_24_0, l_24_1 = MTG():EffectDataChest():Get_PlayerPtr, MTG():EffectDataChest()
local l_24_2 = COMPARTMENT_ID_FILTERED_PLAYER
return l_24_0(l_24_1, l_24_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
MISC.LOL :
- 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
TargetNeutralF = function()
Object():GetFilter():SetNeutral()
if Object():GetFilter():CountStopAt(1) == 1 then
return TARGET_DETERMINATION_ALL
else
return TARGET_DETERMINATION_NONE
end
end
TargetGoodF = function()
Object():GetFilter():PlayerHint(Object():GetPlayer())
if Object():GetFilter():CountStopAt(1) == 1 then
return TARGET_DETERMINATION_ALL
else
return TARGET_DETERMINATION_NONE
end
end
TargetBadF = function()
Object():GetFilter():PlayerAntiHint(Object():GetPlayer())
if Object():GetFilter():CountStopAt(1) == 1 then
return TARGET_DETERMINATION_ALL
else
return TARGET_DETERMINATION_NONE
end
end
TargetAllBadF = function()
Object():GetFilter():PlayerAntiHint(Object():GetPlayer())
if Object():GetFilter():CountStopAt(Object():GetPlayer():GetTargetCount()) == Object():GetPlayer():GetTargetCount() then
return TARGET_DETERMINATION_ALL
else
return TARGET_DETERMINATION_NONE
end
end
ChooseTarget = function(l_5_0)
Object():GetPlayer():ChooseTarget(l_5_0)
end
-
kevlahnota - Programmer
- Posts: 825
- Joined: 19 Jul 2010, 17:45
- Location: Philippines
- Has thanked: 14 times
- Been thanked: 264 times
-
Huggybaby - Administrator
- Posts: 3207
- Joined: 15 Jan 2006, 19:44
- Location: Finally out of Atlanta
- Has thanked: 701 times
- Been thanked: 594 times
Re: DOTP 2012 FUNCTIONS DECODED!!!
by tarutaru » 22 Jun 2011, 08:51
Yay kev!...my happiness and fulfilment will depend on your highly anticipated awesome new mod! Even if there are no new cards yet, what I wouldn't give to be able to make a brand new deck from the existing cards.
Re: DOTP 2012 FUNCTIONS DECODED!!!
by BaneslayerMilkingCow » 25 Jun 2011, 09:17
Within the encrypted gibberish of CORE.LOL, there is a 'SECRETBUTTON setVisible' line. Seen this?
-
BaneslayerMilkingCow - Posts: 29
- Joined: 09 Mar 2011, 15:14
- Has thanked: 7 times
- Been thanked: 0 time
Re: DOTP 2012 FUNCTIONS DECODED!!!
by kevlahnota » 25 Jun 2011, 09:28
Yup there is a secret button in the CORE.LOL.
This code below:
This code below:
- Code: Select all
onDoTutorial = l_0_0
l_0_0 = function()
SECRETBUTTON:setVisible(0)
mainmenuUpsellTransform()
if isTargetPC() == 0 and MAINMENU_UNLOCKGAME ~= nil then
if isTrialMode() == 1 then
MAINMENU_UNLOCKGAME:setVisible(1)
else
MAINMENU_UNLOCKGAME:setVisible(0)
end
end
end
BaneslayerMilkingCow wrote:Within the encrypted gibberish of CORE.LOL, there is a 'SECRETBUTTON setVisible' line. Seen this?
-
kevlahnota - Programmer
- Posts: 825
- Joined: 19 Jul 2010, 17:45
- Location: Philippines
- Has thanked: 14 times
- Been thanked: 264 times
Re: DOTP 2012 FUNCTIONS DECODED!!!
by BaneslayerMilkingCow » 27 Jun 2011, 23:21
How would one go about decrypting those .lol files to enable the menu? Seems there are some interesting decks hidden away.
On another note I seriously hope those decks aren't DLC that they'll charge us for.
On another note I seriously hope those decks aren't DLC that they'll charge us for.
-
BaneslayerMilkingCow - Posts: 29
- Joined: 09 Mar 2011, 15:14
- Has thanked: 7 times
- Been thanked: 0 time
Re: DOTP 2012 FUNCTIONS DECODED!!!
by IceManOnline » 28 Jun 2011, 06:29
There are definately 3 decks, that are already there, but will be enabled via DLC.
And some of the cards can't work this way. If you look at "Murder of Crows", there is a flashback ability, but there are no costs for it. So I think, they put in the cards but will unlock them completely via DLC (adding some abilities etc).
And some of the cards can't work this way. If you look at "Murder of Crows", there is a flashback ability, but there are no costs for it. So I think, they put in the cards but will unlock them completely via DLC (adding some abilities etc).
- IceManOnline
- Posts: 80
- Joined: 12 Dec 2010, 19:00
- Has thanked: 0 time
- Been thanked: 0 time
Re: DOTP 2012 FUNCTIONS DECODED!!!
by Casper7526 » 26 Jul 2011, 05:28
Core.LOL doesnt even need to exist to run the game (something else fishy)
Also, figuring out how to add functions is the last thing to do. Well and Secret menu (if there is one)
Check my progress thread in card dev forum. I'm done with custom decks/cards. So start making cards
Also, figuring out how to add functions is the last thing to do. Well and Secret menu (if there is one)
Check my progress thread in card dev forum. I'm done with custom decks/cards. So start making cards
- Casper7526
- Posts: 15
- Joined: 26 Jul 2011, 02:28
- Has thanked: 0 time
- Been thanked: 0 time
- trygjb
- Posts: 3
- Joined: 16 Jun 2011, 13:16
- Has thanked: 0 time
- Been thanked: 0 time
Re: DOTP 2012 FUNCTIONS DECODED!!!
by thefiremind » 12 Dec 2011, 14:40
I just found something interesting about badge constants... but sad. Try setting badges on a card from 31 onward, and you'll see for yourself that badge values can go from 0 to 32, then they start again: 33 has the same meaning as 0, and so on. Since 30 has been used in the deck pack 1 for flanking, we just have 2 spare badges: 31 and 32.
Badges would be useful to filter something that can't be filtered otherwise.
Actually, the same badge could be reused for many different filters, provided that you don't write specific help text for it: you just set the badge on the cards that you need while you are filtering them, then you remove it. I'll probably use badge #31 for my dredge implementation this way.
Badges would be useful to filter something that can't be filtered otherwise.
Actually, the same badge could be reused for many different filters, provided that you don't write specific help text for it: you just set the badge on the cards that you need while you are filtering them, then you remove it. I'll probably use badge #31 for my dredge implementation this way.
< 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: 721 times
Re: DOTP 2012 FUNCTIONS DECODED!!!
by nabeshin » 14 Dec 2011, 12:24
That nobody would get confused, at once I will specify - a free badge only one - 31. And 32 number is first strike. By the way indexing of tables in <lua> is self-chained, so that the greatest index of the table is -1
Re: DOTP 2012 FUNCTIONS DECODED!!!
by thefiremind » 15 Dec 2011, 09:41
I had the feeling that the total space should have been a power of 2 (32 spaces from 0 to 31) but when I added badges from 31 to 40 on a card I counted 8 visual badges, that's why I came to the wrong conclusion. One of the 9 badges probably was invisible. Thanks for the correction.nabeshin wrote:That nobody would get confused, at once I will specify - a free badge only one - 31. And 32 number is first strike. By the way indexing of tables in <lua> is self-chained, so that the greatest index of the table is -1
< 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: 721 times
Re: DOTP 2012 FUNCTIONS DECODED!!!
by nabeshin » 15 Dec 2011, 12:09
Also, I have counted models of badges
\DATA_CORE\DATA_PC\DATA_SHARED\ART_ASSETS\MODELS\BADGES
.cnt files - 38 pcs.
others files - 37 pcs.
It is possibly connected with an empty place in badge table.
\DATA_CORE\DATA_PC\DATA_SHARED\ART_ASSETS\MODELS\BADGES
.cnt files - 38 pcs.
others files - 37 pcs.
It is possibly connected with an empty place in badge table.
Re: DOTP 2012 FUNCTIONS DECODED!!!
by drugskill » 29 Jan 2012, 01:59
Thanks for this. A lot of the functions/filters work in DotP 2010, so it is good learning material for me.
15 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 10 guests