Info from DotP 2013 executable
Posted: 21 Jun 2012, 18:35
Here is some information I have gleaned from looking through the strings in the executable for DotP 2013. Now I'm pretty sure this is incomplete and some pieces I haven't been able to make sense of yet so don't take this to be perfect and changes will probably be required as we learn more.
For the blocks of functions listed below I assume they go to singular objects (in other words the functions in each block are related) because they were in the those blocks in the executable.
Now that we can extract the WADs and have access to the cards already in the game this can now be updated with additional information (such as function parameters).
Functions for filters:
Functions for Team (thanks thefiremind):
Functions for Players:
Functions for Objects:
Functions for the MTG object:
Functions for DataChest object (thanks thefiremind):
Functions for Damage (confirmed by nabeshin):
Functions for Characteristics:
For the blocks of functions listed below I assume they go to singular objects (in other words the functions in each block are related) because they were in the those blocks in the executable.
Now that we can extract the WADs and have access to the cards already in the game this can now be updated with additional information (such as function parameters).
Functions for filters:
- Clear()
- SetMarkedObjectsOnly()
- SetMinEnchantmentCount(Number)
- SetParentPlayer
- SetParent(Object)
- IsEnchanted(true/false)
- ChromaCount(Colour)
- SetMonoColoured(true/false)
- GetNthEvaluatedObject(Index)
- EvaluateObjects()
- SetEquivalenceDepth(Amount)
- SetBlockVictim
- SetConvertedCostMax(Amount)
- SetConvertedCostMin
- SetConvertedCostValue(Amount)
- SetToughnessMax
- SetToughnessMin
- SetToughnessValue
- SetPowerMax
- SetPowerMin(Amount)
- SetPowerValue
- SetUnique()
- SetFillFilter
- SetStackObjectType(STACK_ constant)
- SetReversePortion
- SetPortion(NumCards)
- SetHint(HINT_ constant, Player)
- AddCharacteristic(Characteristic)
- AddExtra(FILTER_EXTRA_ constant)
- AnyAtAll
- CountStopAt(Value)
- Count()
- AIMay()
- May()
- AllowDuplicates
- NotTargetted()
- AddColour(Colour)
- AddCardName(String)
- SetSecondPlayerInstance(Player)
- SetSecondCardInstance(Object)
- SetPlayerInstance(Player)
- SetCardInstance(Object)
- SetCardRef(Object)
- SetSupertypes
- SetFilterType(Combination of FILTER_TYPE_ constants)
- SetSubTypes(Object():GetSubType())
- SetSecondCardTypes
- SetCardTypes
- AddSubType(_TYPE_ constant)
- AddSecondCardType(CARD_TYPE constant)
- AddCardType(CARD_TYPE constant)
- AddSupertype(SUPERTYPE_ constant)
- SetOwner(Player)
- SetPlayer(Player)
- SetControllersTeam(Team)
- SetController(Player)
- SetHasCounterType(String)
- IgnoreIfChangingZone()
- SetZone(ZONE_ constant)
Functions for Team (thanks thefiremind):
- GetUniqueID
- IsSharedLifeTotal()
- GetNthPlayer(Index)
- GetNumberOfPlayers()
- TakeExtraTurn()
Functions for Players:
- Bool_Get
- Bool_Set(PLAYER_CHARACTERISTIC_ constant)
- Int_Get
- Int_Set
- Int_Increment
- Int_Decrement
- SetAttackController
- SetBlockController(Player)
- RevealHand()
- SetCustomQueryInstructionPtr
- SetCustomQueryInstructionValue(value){Used for setting values in displayed text coupled with %d for example}
- TestFilter(Filter, Player)
- MarkForFilter()
- AddBadge(PLAYER_BADGE_ constant)
- DisplayMessage(String [Referencing permanent text])
- Sacrifice(Object)
- Planeswalk()
- TapLand(Mana String)
- CanAfford(Mana String)
- GetTotalMana()
- OutOfTheGame()
- PlayerDataChest()
- PsuedoPlaySpell(Object)
- PlaySpellForFreeAtAnyTime
- CopySpell
- CopySpellAndCastIt(Object)
- CopySpellWithNewTargets(Object)
- GetUniqueID
- SimpleTargetingOn
- OpponentHasLandOfColour
- HasLandOfColour
- GetPredominantColour
- GetNextPlayerInTeam()
- GetNextPlayer
- GetOpponent
- LoseGame()
- WinGame()
- GetCurrentCharacteristics()
- SorceryTime
- GetGlobalIndex
- IsHuman
- IsAI()
- MyTurn()
- PreventNextDamage
- PreventDamage
- Protection()
- MoveLocalZone(ZONE_ constant, ZONE_ constant)
- Hand_Count()
- Hand_GetRandom()
- Graveyard_Count()
- Graveyard_GetNth(Index)
- PlaneDeck_Count
- PlaneDeck_GetBottom()
- PlaneDeck_GetNth(Index)
- PlaneDeck_GetTop()
- Library_Count()
- Library_GetBottom
- Library_GetNth(Index)
- Library_GetTop()
- DiscardRandomCard()
- DiscardNCardsF
- DiscardNCardsDC
- DiscardNCards(NumCards, String [Referencing permanent text])
- DrawCard()
- ShuffleLibrary()
- MarkSearchedLibrary()
- GetTeam()
- DealDamageFullParams(Amount, Object [Source], Combat [0=Non-Combat, 1=Combat], Unpreventable [0=Preventable, 1=Unpreventable])
- DealCDamage
- DealDamage(Amount, Object [Source])
- LoseLife(Amount)
- GainLife(Amount)
- SetLifeTotal(Amount)
- GetLifeTotal()
- ChooseColour(String [Referencing permanent text], Num)
- AskNumericalChoiceQuestion(String [Referencing permanent text])
- AddNumericalChoiceAnswer(Number)
- BeginNewNumericalChoice()
- AskMultipleChoiceQuestion(String [Referencing permanent text])
- AddMultipleChoiceAnswer(String [Referencing permanent text])
- BeginNewMultipleChoice()
- SetTargetPrompt(Index, String [Referencing permanent text])
- GetTargetCount
- SetTargetCount(Amount)
- ChooseTargetsFromDCWithFlags(Validation, Chest, DataChest Target, Combination of QUERY_ flags)
- ChooseTargetFromDCWithFlags(Validation, String [Ref perm text], Chest, DataChest Target, Combination of QUERY_ flags)
- ChooseTargetsFromDC
- ChooseTargetFromDC(Validation, String [Ref perm text], DataChest Target, DataChest Target)
- ChooseTargetsWithFlags(Validation, DataChest Target, Combination of QUERY_ flags)
- ChooseTargetWithFlags(Validation, String [Ref perm text], DataChest Target, Combination of QUERY_ flags)
- ChooseTargets(Num, DataChest Target)
- ChooseTarget(Num, String [Ref perm text], DataChest Target)
Functions for Objects:
- GetOwner()
- AddScore(Num)
- MarkForFilter()
- PaidForWithColour(COLOUR_ constant)
- IsEnchanted()
- ReleaseDataChest
- RetainDataChest()
- GetDataChest()
- PlayFreeFromAnywhere(Player)
- CanBePlayed(Player)
- WasCast()
- IsToken()
- UseCopiableValues(Chest)
- StoreCopiableValues(Chest)
- GetPlaneswalkerAttacked
- GetPlayerAttacked()
- AttachmentFilter_Get()
- CalcPotentialScore
- CalcScore
- GetNumericalChoiceResult()
- GetMultipleChoiceResult()
- NumAttacksThisTurn()
- Kicked()
- GetBlockVictim
- WasBlocked
- IsBlocked
- IsAttacking()
- IsBlocking
- DecreaseColouredCost(Colour, Amount)
- IncreaseColouredCost
- DecreaseCost(Amount)
- IncreaseCost(Amount)
- CounterSpell()
- GetManaX
- GetBestOrWorstCounterType
- CountCounters(CounterType)
- Removecounters(CounterType, Amount)
- AddCounters(CounterType, Amount)
- ComesIntoPlayTapped()
- Tapped()
- Untap()
- Hold()
- TapAndHold()
- Tap()
- GetDamage()
- ClearDamage()
- PreventNextDamage
- PreventDamage
- Protection()
- SetPermanentController(Player)
- SetController(Player)
- GuidedReveal(ZONE_ constants, ZONE_ constants)
- Reveal()
- PutInPlaneDeck(Index)
- PutIntoPlayAttachedTo(Player, Object)
- PutIntoPlayTappedAndAttacking
- PutIntoPlayTapped(Player)
- PutIntoPlay(Player)
- PutOnBottomOfLibrary()
- PutOnTopOfLibrary()
- PutInLibrary(Index)
- PutInHand()
- ReturnToOwnersHand()
- RemoveFromGame()
- PutInGraveyard()
- QueueZoneChange(ZONE_ constants, Player, Index [Optional])
- HasRegeneration
- GiveRegeneration()
- Sacrifice(Player)
- DestroyWithoutRegenerate()
- Destroy()
- Discard()
- GetNthAuxTargetCard
- GetAuxTargetCard
- GetNumberOfTargets
- ClearTarget
- SetSFXTargetPlayer
- SetTargetPlayer
- GetTargetPlayer()
- GetNthTargetCard
- SetSFXTargetCard
- SetTargetCard
- GetTargetCard()
- GetNumberOfChildren
- GetParentalNature
- CanAttachTo(Object)
- RemoveFromParent
- GetParentPlayer
- GetParent()
- NailOnto(Object)
- Enchant(Object)
- Fortificate
- AttachToPlayer
- Attach(Object)
- DealDamageFullParams(Amount, Object [Source], Combat [0=Non-Combat, 1=Combat], Unpreventable [0=Preventable, 1=Unpreventable])
- DealCDamage
- DealDamage(Amount, Object [Source])
- TestFilter(Filter, Subject)
- LoadTargetDefinition(Id)
- GetFilter()
- GetCardName()
- GetSpec()
- GetRef
- GetCurrentCharacteristics()
- GetConvertedManaCost()
- GetCurrentToughness()
- GetCurrentPower()
- GetColour()
- SetResolutionZone(ZONE_ constants)
- GetResolutionZone()
- GetErstwhileErstwhileZone()
- GetErstwhileZone()
- GetZone()
- GetSubType()
- GetSupertype
- GetCardType()
- GetPlayer()
- GetController()
- TestAny
- TestAll
- Test
Functions for the MTG object:
- GetStep()
- Interrogate_FirstCombatPhaseThisTurn
- Interrogate_CardDiedThisTurn(Object)
- Interrogate_CombatDamageDealtToPlayerThisPhase(Object, Player, NumStopAt)
- Interrogate_DamageDealtToAnyPlayerThisTurn(Object, NumStopAt)
- Interrogate_DamageDealtToCreatureThisTurn(Source Object, Damaged Object)
- Interrogate_CardsOfTypeOntoBattlefieldThisTurn(Player, CARD_TYPE_ constants, NumStopAt)
- Interrogate_NontokenCreaturesDiedThisTurn(Player)
- Interrogate_CreaturesDiedThisTurn
- Interrogate_SpellsOfColourCastThisTurn(Player, COLOUR_ constants, NumStopAt)
- Interrogate_SpellsOfTypeCastThisTurn(Player, CARD_TYPE_ constants, NumStopAt)
- Interrogate_SpellsCastThisTurn(Player, NumStopAt)
- Interrogate_LifeLostThisTurn(Player)
- Interrogate_CardsDrawnThisTurn(Player)
- Interrogate_SearchedLibraryThisTurn(Player, Player, NumStopAt)
- Interrogate_AttacksThisTurn(Player, NumStopAt)
- GetStackObjectController
- GetStackObjectCard
- CounterStackObject
- ClearFilterMarkedPlayers()
- ClearFilterMarkedObjectsInZone(Zone)
- RandomNumberBetween(NumMin, NumMax)
- GetTargetSorter()
- SetPlanarDiceNothingOverload(PLANECHASE_DICE_ROLL_ constants)
- MessageAllPlayers(String [Referencing permanent text])
- ReportStatsEvent(String)
- CreateDelayedTrigger(Num, Chest)
- FireTrigger(TRIGGER_ constant, Object)
- SetProtectedMove
- EffectController()
- DuelDataChest
- ObjectDataChest_NoJIT()
- ObjectDataChest()
- EffectDataChest()
- GetActionRepCount()
- GetCurrentTeam
- DropIntoDebugger
- GetStackCount
- FromAIPerspective
- GetCurrentCharacteristics()
- GetGameType
- GetNthTeam(Index)
- GetNumberOfTeams()
- GetPlayerByGlobalIndex
- GetNthStartingPlayer(Index)
- GetNumberOfStartingPlayers()
- GetNthPlayer(Index)
- GetNumberOfPlayers()
- GetCurrentObject
- PutTokensIntoPlayTappedAndAttackingFromSpec(Object:GetSpec(), Amount, Player [Controller], Player [Attacked], Chest)
- PutTokensIntoPlayFromSpec(Object:GetSpec(), Amount, Player)
- PutTokensIntoPlayTappedAndAttacking(String, Count, Player [Controller], Player [Attacked])
- PutTokensIntoPlayTapped(String, Amount, Player)
- PutTokensIntoPlay(String, Amount, Player)
- ObtainTokenFromSpec
- ObtainToken(String [Token], Player [Controller])
- ChargeCounters()
- MinusOneMinusOneCounters()
- PlusZeroPlusOneCounters
- PlusOnePlusZeroCounters
- PlusOnePlusOneCounters()
- GetCountersType(String)
- ReverseTurnOrder()
- TakeAdditionalPhase(PHASE_ constants)
- GetTurnNumber()
- GetPhase()
- Bool_Get
- Bool_Set
Functions for DataChest object (thanks thefiremind):
- CopyFrom
- Count
- GetType
- Clear()
- Free_Compartment(Index)
- Get_Chest(Index)
- Make_Chest(Index)
- AttachTargetDefinition(Id)
- Get_NthTargets
- Get_Targets(Index)
- Make_Targets(Index)
- Get_Damage
- Set_Damage
- Get_Colour
- Set_Colour
- Get_Supertype
- Set_Supertype
- Get_SubType
- Set_SubType
- Get_CardType
- Set_CardType
- Get_ProtectedCardPtr(Index)
- Set_ProtectedCardPtr(Index, Object)
- LKIShield_CardPtr(Index)
- Protect_CardPtr(Index)
- Get_NthCardPtr(Index)
- Get_CardPtr(Index)
- Set_CardPtr(Index, Object)
- Get_TeamPtr
- Set_TeamPtr
- Get_NthPlayerPtr
- Get_PlayerPtr(Index)
- Set_PlayerPtr(Index, Player)
- Float_Dec
- Float_Inc
- Float_Div
- Float_Mul
- Float_Sub
- Float_Add
- Float_Set
- Float_Clear
- Float_Get
- Get_Float
- Set_Float
- Int_Dec(Index)
- Int_Inc(Index)
- Int_Div
- Int_Mul
- Int_Sub(Index, Integer)
- Int_Add
- Int_Set(Index, Integer)
- Int_Clear(Index)
- Int_Get(Index)
- Get_Int(Index)
- Set_Int(Index, Num)
Functions for Damage (confirmed by nabeshin):
- GetAmount()
- SetAmount(Amount)
- GetSource(Object)
- SetSource
- GetReceivingObject()
- SetReceivingObject(Object)
- GetReceivingPlayer()
- SetReceivingPlayer
- IsCombat
- SetCombat
- IsUnpreventable()
- SetUnpreventable
- GetColour()
- SetColour
Functions for Characteristics:
- Characteristic_Get(Characteristic)
- Characteristic_Set(Characteristic, On/Off [1=On, 0=Off])
- Power_Get(Boolean [Optional])
- Power_Set(Amount)
- Power_Add(Amount)
- Toughness_Get()
- Toughness_Set(Amount)
- Toughness_Add(Amount)
- CanBlock_Set
- CantBlock_Set
- CanOnlyBlock_Set(EVASION_INDEX_ constants)
- CanBlock_Clear
- CantBlock_Clear
- CanOnlyBlock_Clear
- CantBeBlockedBy_Set
- CanOnlyBeBlockedBy_Set(EVASION_INDEX_ constants)
- CantBeBlockedBy_Clear
- CanOnlyBeBlockedBy_Clear
- MustAttackPlayer
- Badge_Set
- Badge_Clear
- FX_Set
- FX_Clear
- SubType_GetWritable(Object)
- Supertype_GetWritable
- CardType_GetWritable(Object)
- GrantAbility(ResourceId)
- LoseAllAbilities
- Colour_Get()
- Colour_Set(Colour)
- Colour_Add
- Int_Increment(PLAYER_INTCHARACTERISTIC_ constants){Used in ORACLE_OF_MUL_DAYA_277371}