Board index Programs with AI or Rules Enforcement Magic: The Gathering - Duels of the Planeswalkers Documentation
Info from DotP 2013 executable
Moderator: CCGHQ Admins
Info from DotP 2013 executable
by RiiakShiNal » 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}
Last edited by RiiakShiNal on 20 Jul 2012, 22:37, edited 10 times in total.
Just getting started: Xander9009's DotP 2014 Community Wad
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
- RiiakShiNal
- Programmer
- Posts: 2185
- Joined: 16 May 2011, 21:37
- Has thanked: 75 times
- Been thanked: 497 times
Re: Info from DotP 2013 executable
by RiiakShiNal » 21 Jun 2012, 18:36
From what I can gather from the strings in the executable these are some of the tags and attributes we can use for coding card/deck xml files. This involves a bit more guess-work than the functions above so forgive me if I get something wrong or this turns out to be incomplete. I image it is still incomplete (though I did find TRIGGER and a couple other tags in a different location).
Card Elements:
Card Elements:
- TITLE
- text
- TYPELINE
- text
- FLAVOURTEXT
- text
- FILENAME
- text
- CARDNAME
- text
- ARTID
- value
- ARTUV
- value
- MULTIVERSEID
- value
- ARTIST
- name
- FRAMECOLOUR
- name
- RARITY
- metaname
- TYPE
- metaname
- SUPERTYPE
- metaname
- CASTING_COST
- cost
- FLASHBACK_COST
- cost
- POWER
- value
- TOUGHNESS
- value
- COLOUR
- value
- LAND_GROUP
- value
- AI_AVAILABILITY
- type
- step
- turn
- characteristic
- parent_characteristic
- blocking_or_blocked
- attacking_or_blocking
- and
- LOCALISED_TEXT
- LanguageCode
- SUB_TYPE
- metaname
- SFX
- text
- targetting_arrow
- power_boundary_min
- power_boundary_max
- MULTIKICKER
- DEFAULT_CAST
- ACTIVATED_ABILITY
- commaspace
- resource_id
- active_zone
- filter_zone
- simple_filter
- sorcery_time
- during_your_turn
- during_opponents_turn
- upkeep
- combat
- non_combat
- per_turn_limit
- immunity
- auto_skip
- firebreathing
- forced_skip
- suppress_fizzle
- any_player
- LKI_shield_effect_source
- hint_name
- dangerous
- TRIGGERED_ABILITY
- commaspace
- resource_id
- active_zone
- filter_zone
- simple_filter
- internal
- pre_trigger
- auto_skip
- dont_ask
- forced_skip
- suppress_fizzle
- immunity
- priority
- badge
- replacement_query
- LKI_shield_effect_source
- hint_name
- dangerous
- STATIC_ABILITY
- commaspace
- resource_id
- active_zone
- filter_zone
- simple_filter
- immunity
- attach_filter
- hint_name
- SPELL_ABILITY
- commaspace
- resource_id
- active_zone
- filter_zone
- simple_filter
- internal
- forced_skip
- suppress_fizzle
- dangerous
- UTILITY_ABILITY
- commaspace
- resource_id
- MANA_ABILITY
- commaspace
- resource_id
- KEYWORD
- tag
- help_title
- help_body
- PRODUCES
- amount
- COST
- type
- cost
- points
- name
- number
- qualifier
- tag
- TOKEN_REGISTRATION
- type
- reservation
- AI_BASE_SCORE
- zone
- score
- type
- AI_COUNTER_SCORE
- type
- score
- max_counters
- AI_SCORE_MULTIPLIER
- zone
- value
- AI_PLANAR_DIE_BEHAVIOUR
- behaviour
- value
- AI_PLAY_TIME
- step
- phase
- AI_CUSTOM_SCORE
- zone
- AI_PLAY_SCORE
- AI_DONT_DUPLICATE
- COLLECTORNUMBER
- value
- HELP
- title
- body
- zone
- zone_reverse
- HINT
- hint_number
- trigger
- trigger_value
- local_trigger
- two_headed_giant_only
- NOT_IN_MAIN2
- TWINCAST_TYPE_EFFECT
- repeating
- conditional
- target_choosing
- layer
- ignore_filter
- id
- TRIGGER
- value
- from_zone
- to_zone
- simple_qualifier
- FILTER
- DURATION
- simple_duration
- CLEANUP
- simple_cleanup
- fire_once
- PLAYTIME
- TARGET_DETERMINATION
- AVAILABILITY
- ACTION
- PLAY_TIME_ACTION
- CONTINUOUS_ACTION
- TARGET_DEFINITION
- TARGET_SORT_DEFINITION
Last edited by RiiakShiNal on 21 Jun 2012, 20:37, edited 3 times in total.
Just getting started: Xander9009's DotP 2014 Community Wad
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
- RiiakShiNal
- Programmer
- Posts: 2185
- Joined: 16 May 2011, 21:37
- Has thanked: 75 times
- Been thanked: 497 times
Re: Info from DotP 2013 executable
by thefiremind » 21 Jun 2012, 18:49
The second list (the one with TakeExtraTurn) should be for Team, and the list that you identified as "Damage" is for any DataChest register (Damage is a particular register).
< 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: Info from DotP 2013 executable
by RiiakShiNal » 21 Jun 2012, 19:04
Thanks for the quick look-over, I'm not real familiar with the DataChest object as I never modded for DotP 2012 and the DataChest did not exist in DotP 2010.
Other Information:
This looks like the list of available triggers:
This looks like a list of values for AI Availability:
This (obviously) looks like the list of Characteristics/Badges (they are mixed in the executable):
The list of zones:
List of available counters:
NOTE: About counters, after looking at the code in some of the cards (Obsidian Fireheart, Xathrid Gorgon, Helix Pinnacle, Aretopolis, Mount Keralia, and Norn's Dominion) it looks as though we may be able to use arbitrary names/types for counters. The types I saw in the cards are: BLAZE, PETRIFICATION, TOWER, SCROLL, PRESSURE, and FATE. It should be noted that I did not see these in executable so arbitrary types may very well be possible.
Other Information:
This looks like the list of available triggers:
- BEGINNING_OF_STEP
- END_OF_STEP
- BEGINNING_OF_TURN
- END_OF_TURN
- ATTACKERS_DECLARED
- BLOCKERS_DECLARED
- COMBAT_DAMAGE_PUSHED
- ACTIVATED_ABILITY_PLAYED
- CREATURE_TOOK_DAMAGE
- PLAYER_TOOK_DAMAGE
- PLAYER_LOST_LIFE
- PLAYER_GAINED_LIFE
- PLAYER_LIFE_CHANGED
- ATTACKING_AND_ISNT_BLOCKED
- ATTACKING
- AURA_ATTACHED
- EQUIPMENT_ATTACKED
- ATTACKING_ALONE
- BECAME_TAPPED
- BECAME_TAPPED_FOR_MANA
- BECAME_TARGET
- BECAME_UNTAPPED
- BLOCKING
- CHAMPIONED
- CLASH
- CONTROLLER_CHANGED
- COUNTERS_CHANGED
- CYCLED
- CREATURE_DEALS_COMBAT_DAMAGE
- CREATURE_DEALS_COMBAT_DAMAGE_TO_PLAYER
- DESTROYED
- DISCARD
- DREW_CARD
- KICKER_PAID
- LOST_CLASH
- PAY_CUMULATIVE_UPKEEP
- PLAY_ECHO
- SPELL_OR_ABILITY_CAUSED_SHUFFLE
- STATE_BASED_EFFECTS
- TARGET_CHOSEN
- TURNED_FACE_UP
- UNATTACHED_FROM_CREATURE
- WAS_BLOCKED_BY
- WON_CLASH
- ZONECHANGE_CONSIDERED
- ZONECHANGE_BEGIN
- ZONECHANGE_TRANSITION
- ZONECHANGE_END
- SACRIFICE
- SPELL_PLAYED
- SPELL_RESOLVED
- LAND_PLAYED
- WAS_BLOCKED
- CARD_CONSIDERED_FOR_TARGETTING
- PLAYER_CONSIDERED_FOR_TARGETTING
- SPELL_BEING_COUNTERED
- CREATURE_DEALS_COMBAT_DAMAGE_TO_CREATURE
- STACK_PUSHED
- STACK_POPPED
- PLAYER_TOOK_NON_COMBAT_DAMAGE
- CREATURE_TOOK_COMBAT_DAMAGE_FROM_SOURCE
- CREATURE_DEALS_DAMAGE
- CREATURE_TOOK_NON_COMBAT_DAMAGE
- SET_IN_MOTION
- ABANDONED
- PLAYER_LOSES_GAME
- ROLLED_CHAOS
- ROLLED_PLANESWALK
- PHENOMENON_ENCOUNTERED
- PLANESWALK_AWAY_FROM
- PLANESWALK_TO
- PLANAR_DIE_ROLLED
- PLAYER_POISON_CHANGED
- PLAYER_GAIN_POISON
- PLAYER_LOSE_LIFE_FROM_DAMAGE
- CREATURE_TOOK_COMBAT_DAMAGE
- PLAYER_TOOK_COMBAT_DAMAGE
- PLAYER_PUT_TOKENS_INTO_PLAY
- CANT_ATTACK_TEST
- CANT_BLOCK_TEST
- CANT_ATTACK_PLAYER_TEST
- EVASION_TEST
- SPELL_ABOUT_TO_RESOLVE
- ABILITY_ABOUT_TO_RESOLVE
This looks like a list of values for AI Availability:
- MillCards
- AttackPriority
- CardDraw
- DamageWithUntap
- Equip
- Firebreathing
- InResponse
- InResponseAttack
- InResponseBlock
- InResponseOrBeforeEitherUntap
- InResponseOrBeforeHisUntap
- InResponseOrBeforeMyUntap
- InResponseBlockOrBeforeMyUntap
- InResponseOrDuringCombat
- InResponseOrDuringCombatOrBeforeMyUntap
- InResponseOrDuringCombatOrMain2
- MakeCreature
- Regen
- RepeatableDamage
- SacForLife
- SorceryTime
- SorceryTimeOrBeforeYourUntap
- InResponseOrDuringCombatControllersTurn
- InstantSpeedRemoval
- InstantSpeedBounce
- InstantSpeedPumpPowerToughness
- InstantSpeedPumpPowerOnly
- InstantSpeedTap
- Main1Only
- Main2Only
This (obviously) looks like the list of Characteristics/Badges (they are mixed in the executable):
- CHARACTERISTIC_DEATHTOUCH
- CHARACTERISTIC_DEFENDER
- CHARACTERISTIC_DOUBLE_STRIKE
- CHARACTERISTIC_FIRST_STRIKE
- CHARACTERISTIC_FLASH
- CHARACTERISTIC_FLYING
- CHARACTERISTIC_HASTE
- CHARACTERISTIC_HEXPROOF
- CHARACTERISTIC_INTIMIDATE
- CHARACTERISTIC_PLAINSWALK
- CHARACTERISTIC_ISLANDWALK
- CHARACTERISTIC_SWAMPWALK
- CHARACTERISTIC_MOUNTAINWALK
- CHARACTERISTIC_FORESTWALK
- CHARACTERISTIC_LIFELINK
- CHARACTERISTIC_REACH
- CHARACTERISTIC_SHROUD
- CHARACTERISTIC_TRAMPLE
- CHARACTERISTIC_VIGILANCE
- CHARACTERISTIC_FLANKING
- CHARACTERISTIC_PHASING
- CHARACTERISTIC_CHANGELING
- CHARACTERISTIC_SHADOW
- CHARACTERISTIC_FEAR
- CHARACTERISTIC_ANNIHILATOR
- CHARACTERISTIC_BATTLE_CRY
- CHARACTERISTIC_FADING
- CHARACTERISTIC_TOTEM_ARMOUR
- CHARACTERISTIC_INFECT
- CHARACTERISTIC_WITHER
- CHARACTERISTIC_INDESTRUCTIBLE
- CHARACTERISTIC_UNBLOCKABLE
- CHARACTERISTIC_MUST_ATTACK
- CHARACTERISTIC_MUST_BLOCK
- CHARACTERISTIC_MUST_ATTACK_EACH_TURN
- CHARACTERISTIC_CANT_ATTACK
- CHARACTERISTIC_CANT_BLOCK
- CHARACTERISTIC_CANNOT_ATTACK_ALONE
- CHARACTERISTIC_CANNOT_BLOCK_ALONE
- CHARACTERISTIC_CANT_BE_PLAYED
- CHARACTERISTIC_MUST_BE_BLOCKED_IF_ABLE
- CHARACTERISTIC_ALL_CREATURES_MUST_BLOCK_THIS_IF_ABLE
- CHARACTERISTIC_DOESNT_UNTAP
- CHARACTERISTIC_WORTHLESS
- CHARACTERISTIC_CANT_USE_ABILITIES
- BADGE_FIRSTSTRIKE
- CHARACTERISTIC_CANT_BE_COUNTERED
- BADGE_TRAMPLE
- CHARACTERISTIC_CANT_BE_REGENERATED
- CHARACTERISTIC_CANT_HAVE_COUNTERS
- BADGE_DEATHTOUCH
- CHARACTERISTIC_COMES_INTO_PLAY_TAPPED
- BADGE_SHROUD
- CHARACTERISTIC_DOESNT_DEAL_DAMAGE
- BADGE_INDESTRUCTIBLE
- CHARACTERISTIC_DOESNT_DEAL_COMBAT_DAMAGE
- BADGE_REACH
- BADGE_UNBLOCKABLE
- CHARACTERISTIC_DOESNT_RECEIVE_COMBAT_DAMAGE
- CHARACTERISTIC_USE_TOUGHNESS_FOR_COMBAT_DAMAGE
- BADGE_DOUBLESTRIKE
- BADGE_LIFELINK
- BADGE_DEFENDER
- BADGE_FLYING
- BADGE_SHADOW
- BADGE_FLASH
- BADGE_VIGILANCE
- BADGE_HASTE
- BADGE_FEAR
- BADGE_PLAINS_WALK
- BADGE_ISLAND_WALK
- BADGE_SWAMP_WALK
- BADGE_MOUNTAIN_WALK
- BADGE_FOREST_WALK
- BADGE_HEXPROOF
- BADGE_DOESNT_UNTAP
- BADGE_DOESNT_UNTAP_NEXT_TIME
- BADGE_INTIMIDATE
- BADGE_ANNIHILATOR
- BADGE_BATTLE_CRY
- BADGE_TOTEM_ARMOR
- BADGE_DIES_AT_END_OF_TURN
- BADGE_FLANKING
- BADGE_INFECT
- BADGE_WITHER
- BADGE_EXALTED
- BADGE_UNDYING
- BADGE_CHANGELING
The list of zones:
- ZONE_ANY
- ZONE_HAND
- ZONE_GRAVEYARD
- ZONE_LIBRARY
- ZONE_REMOVED_FROM_GAME
- ZONE_STACK
- ZONE_PHASED_OUT
- ZONE_IN_PLAY
- ZONE_COMMAND_SCHEME_DECK
- ZONE_COMMAND_SCHEME_ACTIVE
- ZONE_COMMAND_PLANE_DECK
- ZONE_COMMAND_PLANE_ACTIVE
- ZONE_COMMAND_GENERAL
- ZONE_PLAYER
- ZONE_IN_PLAY_AND_PLAYERS
- ZONE_TRANSITION
- ZONE_DEFAULT
List of available counters:
- +1/+1
- +1/+0
- +0/+1
- -1/-1
- Charge
- Quest_Counter
NOTE: About counters, after looking at the code in some of the cards (Obsidian Fireheart, Xathrid Gorgon, Helix Pinnacle, Aretopolis, Mount Keralia, and Norn's Dominion) it looks as though we may be able to use arbitrary names/types for counters. The types I saw in the cards are: BLAZE, PETRIFICATION, TOWER, SCROLL, PRESSURE, and FATE. It should be noted that I did not see these in executable so arbitrary types may very well be possible.
Just getting started: Xander9009's DotP 2014 Community Wad
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
- RiiakShiNal
- Programmer
- Posts: 2185
- Joined: 16 May 2011, 21:37
- Has thanked: 75 times
- Been thanked: 497 times
Re: Info from DotP 2013 executable
by nabeshin » 15 Jul 2012, 19:14
in first post - this tail for Damage() :
GetAmount()
SetAmount(Amount)
GetSource(Object)
SetSource
GetReceivingObject()
SetReceivingObject(Object)
GetReceivingPlayer()
SetReceivingPlayer
IsCombat
SetCombat
IsUnpreventable()
SetUnpreventable
GetColour()
SetColour
GetAmount()
SetAmount(Amount)
GetSource(Object)
SetSource
GetReceivingObject()
SetReceivingObject(Object)
GetReceivingPlayer()
SetReceivingPlayer
IsCombat
SetCombat
IsUnpreventable()
SetUnpreventable
GetColour()
SetColour
Re: Info from DotP 2013 executable
by RiiakShiNal » 15 Jul 2012, 19:24
I thought those were for damage, but since they were in the same block in the executable as those for the data chest functions I was hesitant to separate them out without confirmation so thanks for the confirmation.
Just getting started: Xander9009's DotP 2014 Community Wad
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
- RiiakShiNal
- Programmer
- Posts: 2185
- Joined: 16 May 2011, 21:37
- Has thanked: 75 times
- Been thanked: 497 times
Re: Info from DotP 2013 executable
by pcastellazzi » 13 Sep 2012, 05:43
Did anyone tried MTG():DropIntoDebugger()?
The lights then came up and the crowd erupted in applause, because that's what the crowd does after it watches destruction on a large screen.
— Ben Kuchera, Mordern Warfare 3 review.
— Ben Kuchera, Mordern Warfare 3 review.
-
pcastellazzi - Posts: 184
- Joined: 25 Apr 2012, 00:40
- Location: Montevideo, Uruguay
- Has thanked: 11 times
- Been thanked: 30 times
Re: Info from DotP 2013 executable
by RiiakShiNal » 13 Sep 2012, 11:58
I don't think anyone has, I know I haven't because I'm pretty sure that I don't have a version of the game with the debugger symbols that would allow me to do much with it.
Just getting started: Xander9009's DotP 2014 Community Wad
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
- RiiakShiNal
- Programmer
- Posts: 2185
- Joined: 16 May 2011, 21:37
- Has thanked: 75 times
- Been thanked: 497 times
Re: Info from DotP 2013 executable
by pcastellazzi » 13 Sep 2012, 16:11
I am no sure if debugging symbols are a necessity. My first guess should be they are, but only if the debugger this function uses is for the game it self. If it is for lua code it may work.
update: As expected is NOOP.
update: As expected is NOOP.
The lights then came up and the crowd erupted in applause, because that's what the crowd does after it watches destruction on a large screen.
— Ben Kuchera, Mordern Warfare 3 review.
— Ben Kuchera, Mordern Warfare 3 review.
-
pcastellazzi - Posts: 184
- Joined: 25 Apr 2012, 00:40
- Location: Montevideo, Uruguay
- Has thanked: 11 times
- Been thanked: 30 times
Re: Info from DotP 2013 executable
by nabeshin » 13 Sep 2012, 21:26
updated exe file don't have - "SetMinEnchantmentCount" , here is "SetMinOtherEnchantmentCount".
10 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 11 guests