It is currently 16 Apr 2024, 22:12
   
Text Size

DOTP 2012 FUNCTIONS DECODED!!!

Moderator: CCGHQ Admins

DOTP 2012 FUNCTIONS DECODED!!!

Postby 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 :
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
CONSTANTS.LOL :
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
EFFECTS.LOL :
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


EXTRACTINFO.LOL :
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
FILTERS.LOL :
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


KEYWORDS.LOL IS EMPTY

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

TARGETS.LOL :
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

User avatar
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!!!

Postby Huggybaby » 22 Jun 2011, 02:59

Awesomeness stickied.
User avatar
Huggybaby
Administrator
 
Posts: 3205
Joined: 15 Jan 2006, 19:44
Location: Finally out of Atlanta
Has thanked: 696 times
Been thanked: 594 times

Re: DOTP 2012 FUNCTIONS DECODED!!!

Postby 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.
User avatar
tarutaru
 
Posts: 17
Joined: 15 Mar 2011, 01:26
Has thanked: 21 times
Been thanked: 0 time

Re: DOTP 2012 FUNCTIONS DECODED!!!

Postby Persee » 22 Jun 2011, 17:54

Well done Kev ! =D>
User avatar
Persee
 
Posts: 168
Joined: 02 Jun 2011, 08:33
Has thanked: 42 times
Been thanked: 24 times

Re: DOTP 2012 FUNCTIONS DECODED!!!

Postby BaneslayerMilkingCow » 25 Jun 2011, 09:17

Within the encrypted gibberish of CORE.LOL, there is a 'SECRETBUTTON setVisible' line. Seen this?
User avatar
BaneslayerMilkingCow
 
Posts: 29
Joined: 09 Mar 2011, 15:14
Has thanked: 7 times
Been thanked: 0 time

Re: DOTP 2012 FUNCTIONS DECODED!!!

Postby kevlahnota » 25 Jun 2011, 09:28

Yup there is a secret button in the CORE.LOL.

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?
User avatar
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!!!

Postby 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.
User avatar
BaneslayerMilkingCow
 
Posts: 29
Joined: 09 Mar 2011, 15:14
Has thanked: 7 times
Been thanked: 0 time

Re: DOTP 2012 FUNCTIONS DECODED!!!

Postby 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).
IceManOnline
 
Posts: 80
Joined: 12 Dec 2010, 19:00
Has thanked: 0 time
Been thanked: 0 time

Re: DOTP 2012 FUNCTIONS DECODED!!!

Postby 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 ;)
Casper7526
 
Posts: 15
Joined: 26 Jul 2011, 02:28
Has thanked: 0 time
Been thanked: 0 time

Re: DOTP 2012 FUNCTIONS DECODED!!!

Postby trygjb » 02 Aug 2011, 08:50

lol how to become a lua file?
trygjb
 
Posts: 3
Joined: 16 Jun 2011, 13:16
Has thanked: 0 time
Been thanked: 0 time

Re: DOTP 2012 FUNCTIONS DECODED!!!

Postby 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.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 721 times

Re: DOTP 2012 FUNCTIONS DECODED!!!

Postby 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
User avatar
nabeshin
 
Posts: 207
Joined: 27 Jun 2011, 20:07
Has thanked: 5 times
Been thanked: 31 times

Re: DOTP 2012 FUNCTIONS DECODED!!!

Postby thefiremind » 15 Dec 2011, 09:41

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
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. :)
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 721 times

Re: DOTP 2012 FUNCTIONS DECODED!!!

Postby 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.
User avatar
nabeshin
 
Posts: 207
Joined: 27 Jun 2011, 20:07
Has thanked: 5 times
Been thanked: 31 times

Re: DOTP 2012 FUNCTIONS DECODED!!!

Postby 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.
drugskill
 
Posts: 33
Joined: 05 Jun 2011, 17:31
Has thanked: 18 times
Been thanked: 1 time


Return to Documentation

Who is online

Users browsing this forum: No registered users and 8 guests


Who is online

In total there are 8 users online :: 0 registered, 0 hidden and 8 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 8 guests

Login Form