| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

Scripting Documentation

Page history last edited by Kert 3 years, 6 months ago Saved with comment

documentDeep-bound objects 

 

 

Hero

 

name

string = hero.name is equivalent to string = GetHeroName(hero)

hero.name = string is equivalent to SetHeroName(hero, string)

 

owner

player = hero.owner is equivalent to player = GetHeroOwner(hero)

 

spellpoints

points = hero.spellpoints is equivalent to points = GetSpellpoints(hero)

hero.spellpoints = points is equivalent to SetSpellpoints(hero, points)

 

level

lvl = hero.level is equivalent to lvl = GetHeroLevel(hero)

 

tempMoraleBonuses

morale = hero.tempMoraleBonuses is equivalent to morale = GetHeroTempMoraleBonuses(hero)

hero.tempMoraleBonuses = morale is equivalent to SetHeroTempMoraleBonuses(hero, morale)

 

tempLuckBonuses

luck = hero.tempLuckBonuses is equivalent to luck = GetHeroTempLuckBonuses(hero)

hero.tempLuckBonuses = luck is equivalent to SetHeroTempLuckBonuses(hero, luck)

 

mobility

mob = hero.mobility is equivalent to mob = GetHeroMobility(hero)

hero.mobility = mob is equivalent to SetHeroMobility(hero, mob)

 

remainingMobility

remainingMob = hero.remainingMobility is equivalent to remainingMob = GetHeroRemainingMobility(hero)

hero.remainingMobility = reaminingMob is equivalent to SetHeroRemainingMobility(hero, remainingMob)

 

x

xPos = hero.x is equivalent to xPos = GetHeroX(hero)

 

y

yPos = hero.y is equivalent to yPos = GetHeroY(hero)

 

 

Town

 

name

string = town.name is equivalent to string = GetTownName(town)

town.name = nam is equivalent to SetTownName(town, nam)

 

owner

player = town.owner is equivalent to player = GetTownOwner(town)

town.owner = player is equivalent to SetTownOwner(town, player)

 

faction

fac = town.faction is equivalent to fac = GetTownFaction(town)

town.faction = fac is equivalent to SetTownFaction(town, fac)

 

x

xPos = town.x is equivalent to xPos = GetTownX(town)

 

yPos = town.y is equivalent to yPos = GetTownY(town)

 

visitingHero 

hero = town.visitingHero is equivalent to hero = GetVisitingHero(town)

 

 

Player

 

color

col = player.color is equivalent to col = GetPlayerColor(player)

 

numHeroes 

numHro = player.numHeroes is equivalent to numHro = GetNumHeroes(player)

 

daysLeftWithoutCastle

daysLeft = player.daysLeftWithoutCastle is equivalent to daysLeft = GetDaysAfterTownLost(player)

player.daysLeftWithoutCastle = daysLeft is equivalent to SetDaysAfterTownLost(player, daysLeft)

 

 

BattleStack

 

side

sid = stack.side is equivalent to sid = GetStackSide(stack)

 

type

typ = stack.type is equivalent to typ = GetStackType(stack)

 

quantity

qty = stack.quantity is equivalent to qty = GetStackQuantity(stack)

stack.quantity = qty is equivalent to SetStackQuantity(stack, qty)

 

initialQuantity

initQty = stack.initialQuantity is equivalent to initQty = GetStackInitialQuantity(stack)

stack.initialQuantity = initQty is equivalent to SetStackInitialQuantity(stack, initQty)

 

hex

hx = stack.hex is equivalent to hx = GetStackHex(stack)

 

morale

mor = stack.morale is equivalent to mor = GetStackMorale(stack)

stack.morale = mor is equivalent to SetStackMorale(stack, mor)

 

luck

luc = stack.luck is equivalent to  luc = GetStackLuck(stack)

stack.luck = luc is equivalent to SetStackLuck(stack, luc)


attack

att = stack.attack is equivalent to att = GetStackAttack(stack)

stack.attack = att is equivalent to SetStackAttack(stack, att)


defense

def = stack.defense is equivalent to def = GetStackDefense(stack)

stack.defense = def is equivalent to SetStackDefense(stack, def)


speed

spd = stack.speed is equivalent to speed = GetStackSpeed(stack)

stack.speed = spd is equivalent to SetStackSpeed(stack, spd)


shots

shts = stack.shots is equivalent to shts = GetStackShots(stack)

stack.shots = shts is equivalent to SetStackShots(stack, shots)


hp

hp = stack.hp is equivalent to hp = GetStackHp(stack)

stack.hp = hp is equivalent to SetStackHp(stack, hp)

 

 

Campaign choice

 

type

type = choice.type is equivalent to type = GetCampaignChoiceType()

 

field

field = choice.field is equivalent to field = GetCampaignChoiceField()

 

amount

amount = choice.amount is equivalent to amount = GetCampaignChoiceAmount()

 

 

 

General

 

MessageBox(msg)

msg: String containing message to display.

 

Displays a plain Heroes II style message window with the given message.

 

AdvMessageBox.SingleImage(msg, dialogtype, img1type, img1arg)

msg: String containing message to display.

dialogtype: dialog constant
img1type: image type constant
img1arg: image constant

 

Displays a plain Heroes II style message window with the given message and a single image

 

AdvMessageBox.DoubleImage(msg, dialogtype, img1type, img1arg, img2type, img2arg)

msg: String containing message to display.

dialogtype: dialog constant
img1type: image type constant
img1arg: image constant
img1type: image type constant
img1arg: image constant

 

Displays a plain Heroes II style message window with the given message and two images.

 

AdvancedMessageBox(10 parameters)

 

This is a very complicated function which is a raw interface to HoMM II's internal message box function. We highly recommend not using this in favor of one of the specialized versions, like AdvMessageBox.SingleImage. However, if you really want some kind of message box which is present in HoMM II but not available by one of these functions, have a look at the AdvancedMessageBox Documentation.

 

GetDay()

 

Returns the current day of the week.

 

GetWeek()

 

Returns the current week of the month.

 

GetMonth()

 

Returns the current month.

 

Input

 

QuestionBox(msg)

msg: String containing message to display.

 

Displays a yes/no Heroes message box with the given message. Returns true if the player clicks "Yes," and false if the player clicks "No."

 

InputBox(msg)

msg: String containing message to display.

 

Displays a Heroes message box with a text entry field. Returns the string the player typed into the text entry.

 

 

Players

 

GetPlayer(n)

n: A number (0-5) determining which player you wish to select.

 

A game of Heroes II can have up to 6 players, numbered 0-5. This function returns the nth player, or NULL if there is no such player.

 

GetCurrentPlayer()

 

Returns a deep-bound player object determining which player is active now.

 

GetNumHeroes(player)
player:
The player to get the number of heroes from. (See GetPlayer.)

 

Returns the number of heroes owned by the given player.

 

GetHero(player, n)

player: The player to get the hero from. (See GetPlayer.)

n: A number (0-7) determining which hero you wish to select.

 

Each player can have up to 8 heroes, number 0-7. This function returns the nth hero owned by the given player, or NULL if there is no such hero. (These numbers are the same as the order heroes appear in the hero selector, and also correspond to the order heroes are placed in the map editor.)


GetHeroForHire(player, n)

player: The player to get the hero from. (See GetPlayer.)

n: A number (0-1) determining which hero you wish to select.

 

Each player will have up to 2 (usually exactly 2) heroes for hire at any given point. This function returns the nth hero for hire offered to the given player, or NULL if there is no such hero.

 

GetPlayerColor(player)

player: The player to get the color of.

 

Returns an integer representing the color of the given player.

 

ShareVision(p1, p2)

p1: A number (0-5) determining a player.
p2: 
A number (0-5) determining a player.

 

Allows player number p2 to see everything that player number p1 can see.

 

Note that player number 0 is the first human player, not necessarily the blue player.

 

CancelShareVision(p1, p2)
p1: A number (0-5) determining a player.
p2: A number (0-5) determining a player.
 
Cancels ShareVision(p1, p2) but player number p2 will still be able see those areas already revealed to player number p1. 

 

GiveResource(player, resource, amount)

player: The player to give resource to. (See GetPlayer.

resource: The type of resource to give.

amount: The amount of resource to give.

 

Grants to player an amount of resource.

 

SetResource(player, resource, value)

player: The player you set the resource of. (See GetPlayer.

resource: The type of resource to set.

value: The value to set the resource to.

 

Sets the resource of player to value.

 

GetResource(player, resource)

player: The player you get the resource of. (See GetPlayer.

resource: The type of resource to get.

 

Returns the amount of resource the player possesses.  

 

GetDaysAfterTownLost(player)

player: The player in question.

 

Returns the number of days a player has to reclaim their town/castle until they lose the game. 

 

SetDaysAfterTownLost(player, daysLeftWithoutCastle)

player: The player in question.

daysLeftWithoutCastle: The desired number of days that the given player has left to reclaim the town/castle until they lose the game.

 

Sets the number of days a player has left (to reclaim their town/castle until they lose the game) to the given value. 

 

 

Heroes

 

GetCurrentHero()

 

Returns the currently-selected hero, or NULL if there are none.

 

GetHeroInPool(n)

n: A number (0-53) determining which hero you wish to select.

 

At the start of each game, the game will create a pool of 54 heroes, comprising heroes owned by all players, and heroes which are or may become available for hire. This function returns the nth such hero.

 

GetHeroName(hero)

hero: The hero to get the name of. (See, for example, GetHero).

 

Returns the name of the given hero as a string.

 

SetHeroName(hero, name)

hero: The hero to set the name for. (See, for example, GetHero).

name: String representing hero's new name.

 

Sets the name of the given hero.


GetHeroOwner(hero)

hero: The hero to get the owner of. (See, for example, GetHero).

 

Returns the owner of the given hero as deep-bound player object or nil if the hero is not owned by any player (i.e.: is or may become available for hire).

 

GrantArtifact(hero, artifact)

hero: The hero to grant the artifact to . (See, for example, GetHero).

artifact: The ID of the artifact to give. (See section "Artifacts".)

 

Grants the given artifact to the given hero.

 

GrantSpellScroll(hero, spell)
hero: The hero to grant the spell scroll to. (See, for example, GetHero).
spell: The ID of the spell to give. (See section "Spells".)

 

Grants a spell scroll of the given spell to the given hero


TakeArtifact(hero, artifact)

hero: The hero to take the artifact from. (See, for example, GetHero).

artifact: The ID of the artifact to take. (See section "Artifacts".)

 

Removes the given artifact from the given hero. If the hero does not have the artifact, does nothing. If the hero has multiple of the given artifact, removes only one.


HasArtifact(hero, artifact)

hero: The hero to check . (See, for example, GetHero).

artifact: The ID of the artifact to check. (See section "Artifacts".)

 

Returns whether the given hero has at least one of the given artifact.

 

CountEmptyArtifactSlots(hero)

hero:  The hero to check. (See, for example, GetHero)

 

Returns the amount of empty artifact slots that are available.

 

CountEmptyCreatureSlots(hero)

hero:  The hero to check. (See, for example, GetHero)

 

Returns the amount of empty army stack slots that are available.


GrantArmy(hero, creature, number)

hero: The hero to give the army to. (See, for example, GetHero).

creature: The ID of the creature to grant. (see section "Creatures".)

number: The number of that creature to grant.

 

Gives the given hero a stack of creatures of the given type and quantity, and places them in the hero's first empty army slot. Should not be used during combat.


GrantSpell(hero, spell)

hero: The hero to give the spell to. (See, for example, GetHero).

spell: The ID of the spell to give. (See section "Spells".)

 

Puts the given spell in the given hero's spellbook.

 

ForgetSpell(hero, spell)

hero: The hero who will forget the spell. (See, for example, GetHero).

spell: The ID of the spell. (See section "Spells".)

 

Removes the given spell from the given hero's spellbook.

 

SetExperiencePoints(hero, experience)

hero: The hero to set the spell points of. (See, for example, GetHero).

experience: Number of experience points to give the hero.

 

Sets a hero's experience points to the given quantity.

If a hero's level is consequently increased then commensurate skills will be granted.

 

GetExperiencePoints(hero)

hero: The hero to get the spell points of. (See, for example, GetHero).

 

Returns the hero's available experience points.

 

SetSpellpoints(hero, spellpoints)

hero: The hero to set the spell points of. (See, for example, GetHero).

spellpoints: Number of spell points to give the hero.

 

Sets a hero's spellpoints to the given quantity.

 

GetSpellpoints(hero)

hero: The hero to get the spell points of. (See, for example, GetHero).

 

Returns the hero's available spellpoints.

 

SetPrimarySkill(hero, skill, quantity)

hero: The hero to set the primary skill of. (See, for example, GetHero).

skill: The ID of the primary skill. (See section "Skills".)

quantity: The number of points.

 

Sets the number of points the given hero has in the given primary skill.

 

GetPrimarySkill(hero, skill)

hero: The hero to get the primary skill of. (See, for example, GetHero).

skill: The ID of the primary skill. (See section "Skills".)

 

Returns the number of points the given hero has in the given primary skill.

 

SetSecondarySkill(hero, skill, level)

hero: The hero to set the secondary skill of. (See, for example, GetHero).

skill: The ID of the secondary skill to set. (See section "Skills.")

level: A number 0-3 for None, Basic, Advanced, and Expert, respectively, representing the level of the skill to give.

 

Sets a hero's level in the given secondary skill.

 

GetSecondarySkill(hero, skill, level)

hero: The hero to get the secondary skill of. (See, for example, GetHero).

skill: The ID of the secondary skill. (See section "Skills.")

 

Returns a number 0-3 for None, Basic, Advanced, and Expert, respectively, representing the level of the skill the hero has.

 

GetHeroTempMoraleBonuses(hero)

hero: The hero to get the morale bonuses of. (See, for example, GetHero).

 

Returns the hero's morale bonuses.

 

SetHeroTempMoraleBonuses(hero, moraleBonus)

hero: The hero to set the morale bonuses of. (See, for example, GetHero).

moraleBonus: Morale bonus to give to the hero

 

Sets a hero's morale bonus to the given amount. Morale bonuses only last until the end of the first battle that is entered while the bonus is present. The bonus is applied for the battle, then is reset to 0 after the battle.

 

GetHeroTempLuckBonuses(hero)

hero: The hero to get the luck bonuses of. (See, for example, GetHero).

 

Returns the hero's luck bonuses.

 

SetHeroTempLuckBonuses(hero, luckBonus)

hero: The hero to set the luck bonuses of. (See, for example, GetHero).

luckBonus: Luck bonus to give to the hero

 

Sets a hero's luck bonus to the given amount. Luck bonuses only last until the end of the first battle that is entered while the bonus is present. The bonus is applied for the battle, then is reset to 0 after the battle.

 

GetHeroMobility(hero)

hero: The hero to get the mobility of. (See, for example, GetHero).

 

Returns the hero's mobility.

 

SetHeroMobility(hero, mobility)

hero: The hero to set the mobility of. (See, for example, GetHero).

mobility: Mobility to give to the hero

 

Sets a hero's mobility to the given amount. It should be known that mobility represents a hero's maximum mobility points and not necessary the current remaining mobility points of the hero.

 

GetHeroRemainingMobility(hero)

hero: The hero to get the remaining mobility of for the current round. (See, for example, GetHero).

 

Returns the hero's remaining mobility for that round.

 

SetHeroRemainingMobility(hero, remainingMobility)

hero: The hero to set the remaining mobility of. (See, for example, GetHero).

remainingMobility: Remaining mobility to give to the hero

 

Sets a hero's remaining mobility to the given amount for that round.

 

GetHeroLevel(hero)

hero: The hero to get the level of. (See, for example, GetHero).

 

Gets the level of the given hero.

 

GetHeroX(hero)

hero: The hero to get the X position of. (See, for example, GetHero).

 

Gets the X position of the given hero.

 

GetHeroY(hero)

hero: The hero to get the Y position of. (See, for example, GetHero).

 

Gets the Y position of the given hero.

 

TeleportHero(hero, x, y)

hero: The hero (See, for example, GetHero).

xX coordinate on the world map.

y: Y coordinate on the world map.

 

Sets the hero's position on the map.

 

 

Town Functions

 

GetCurrentTown()

 

Returns the currently-visited town, or NULL if not in the town screen.

 

GetTownName(town)

town: The town to check the name of.

 

Returns the string containing the name of the corresponding town. 

 

SetTownName(town, name)

town: The town to set the name of.

name: String containing the new name of the town (max 11 characters)

 

Sets new name for the town.

 

HasVisitingHero(town)

town: The town to check for a visiting hero. (See GetCurrentTown.)

 

Returns whether the given town has a visiting hero.

 

GetVisitingHero(town)

town: The town to check for a visiting hero. (See GetCurrentTown.)

 

Returns the hero visiting the given town, or NULL if there is none.

 

BuildInCurrentTown(building)

building: The ID of the building to build. (See section "Buildings".)

 

Builds the given building in the current town (i.e. the town open in the town screen).

 

SetNumGuildSpells(town, level, num)

town: The town to modify. (See GetCurrentTown.)

level: The level of mage guild to modify.

num: The number of available spells.

 

Sets the number of spells available in a given level of the mage guild. How many spells are available in each level of the mage guild is predetermined, meaning this can be used whether or not the mage guild has been built to that level.

 

SetGuildSpell(town, level, column, spell)

town: The town to modify. (See GetCurrentTown.)
level: The level of mage guild to modify.

column: A number 0-4 representing which spell in that level to change.

spell: The spell to assign to that level and column of the mage guild.

 

Sets which spell is available in the mage guild at the given level and column. Which spells will be available in the mage guild is predetermined, meaning this can be used whether or not the mage guild has been built to that level. It is recommended that you call this before building a mage guild, as heroes will immediately learn whatever is in the mage guild immediately when the mage guild is built.

 

GetGuildSpell(town, level, column)
town: The town to modify. (See GetCurrentTown.)
level: A number representing the level of mage guild to get the spell from.

column: A number representing the level's location of the spell to get.

 

Gets the spell stored in the mage guild at the given level and column. 

 

GetTown(id)

id: The id of the town.

 

Returns the town with the corresponding id.

 

GetTownByName(name)

name: String containing the town name.

 

Returns the town with the corresponding name.

 

GetPlayerTown(player, id)

player: The player that has the town.

id: The id of the town (from owned towns of this player).

 

Returns the n-th (id) town owned by the player. 

 

BuildInTown(town, building)

town: The town where to build a structure.

building: Building type (See Buildings).

 

Creates a new building in the town. 

 

GetTownFaction(town)

town: The town to check the faction for.

 

Returns the integer number representing the faction of the town. 

 

SetTownFaction(town, faction)

town: The town to set the faction for.

faction: Integer number representing the faction.

 

Sets the town's faction. 

 

GetTownOwner(town)

townID: The town to check the owner of.

 

Returns the integer number of the player owning the corresponding town. 

 

SetTownOwner(townID, owner)

townID: The id of the town to set owner for.

owner: The id of the player.

 

Makes the specified player own the corresponding town. 

 

GetTownX(town)

town: The town to get the X position of.

 

Gets the X position of the given town.

 

GetTownY(town)

town: The town to get the Y position of.

 

Gets the Y position of the given town.

 

GetTownIdFromPos(x, y)

xX coordinate on the world map.

y: Y coordinate on the world map.

 

Returns the town id from corresponding coordinates. 

 

SetNumberOfCreatures(town, dwelling, num)
town: The town in which the dwelling is in.
dwelling: A number representing the dwelling in which the number of creatures is to be set
num: The number of creatures.

 

Sets the number of creatures in dwelling to num

 

DisallowBuilding(townID, building)
townID: The town with this ID.
building: The ID of the building to build. (See section "Buildings".)
 

Makes it impossible to build a specific building in the corresponding town.

 

World map


MapPutArmy(x, y, creature, quantity)

xX coordinate on the world map.

y: Y coordinate on the world map.

creature: The creature to be placed on the map.

quantityThe number of creatures.

 

Places a creature on the world map that you can battle against.

 

MapFizzle(x, y, sound)

xX coordinate on the world map.

y: Y coordinate on the world map.

sound: Whether an appropriate sound effect should be played depending what type of location is on the world map at the provided coordinates (Boolean value).

 

Fades out a specified object on the world map.

 

PlaySoundEffect(name)

name: Which 82m-type source file to be used (Example: "killfade").

 

Pauses the game while playing a sound effect from the source named, and then resumes the game once it has finished.

 

SetInclinedToJoin(x, y, inclinedToJoin)

xX coordinate on the world map.

y: Y coordinate on the world map.

inclinedToJoin: Whether the monster at the provided coordinates should be more willing to join a hero (Boolean value).

 

Monsters with this flag set will generally join the hero when the hero encounters them. However, this is not guaranteed; monsters which are as strong as the hero's army may still fight.

 

GetInclinedToJoin(x, y)

xX coordinate on the world map.

y: Y coordinate on the world map.

 

Returns whether the monster at the provided coordinates is likely join a hero. (See SetInclinedToJoin.)

 

GetTooltipText(locationType, x, y)

locationType: Type of object the user has right-clicked on (see the list of Location constants below)

x: X coordinate on the world map

y: Y coordinate on the world map

 

Override the text shown when the user right-clicks on an object.  Return TOOLTIP_DEFAULT to show the normal game text.

 

 

Campaigns

 

You can get info about current campaign scenario choice using functions below


GetCampaignChoice()

Returns a deep-bound campaignChoice object, that can be accessed

 

GetCampaignChoiceType()

Returns current campaign scenario choice type (see Campaign choice section below on this page)

 

GetCampaignChoiceField()

Returns current campaign scenario choice info (see Adding new campaigns)

 

GetCampaignChoiceAmount()

Returns current campaign scenario choice info (see Adding new campaigns)

 

 

Events


RecruitBox(hero, creature, quantity)

hero: The hero that any purchased creatures will go to. (See, for example, GetHero).
creature: The creature available for recruitment.

quantityThe number of creatures available.

 

Opens a dialog allowing the player to recruit a creature into the given hero's army.

 

StartBattle(hero, monster, monsterQuantity, switchSides)

hero: The hero to start a battle against. (See, for example, GetHero).

monster: The creature to fight against.

monsterQuantityThe number of creatures.

switchSides: 0 or 1. Setting the value to 1 will put the hero and his army on the right side of the battlefield (will also set his side to 1).

 

Returns the winning side.

The function starts a battle for a specified hero against a specified amount of monsters.

 

 

Game Control

 

SetDaysAfterTownLost(player, days)

player: The player to set this value for.
days: The number of days a player will have remaining.

 

Sets the number of days a player has remaining before they must capture a castle. Useful for allowing a player to go a long time without needing a castle.

 

ToggleAIArmySharing(toggle)

toggle: 0 or 1.

 

Enables or disables AI (computer player) army sharing.

 

 

Battles

 

BattleSummonCreature(side, hex, creature, amount)

side: The side which will control the summoned creatures (0 or 1).

hex: The position where the creatures are summoned (an int between 0 and 116 representing the position on the 13x9 battle grid).

creature: The creature you wish to summon.

amount: The number of creatures to summon.

 

Summons a creature to the battlefield .

 

BattleHasHero(side)

side: The side which control the hero (0 or 1).

 

Returns true if the side has a hero during the battle, false otherwise (i.e. neutral army).

 

BattleGetHero(side)

side: The side which control the hero (0 or 1).

 

Returns the hero controlled by the side.

 

BattleNumStacksForSide(side)

side:  The side which controls the stacks of creatures (0 or 1).

 

Returns the amount of creature stacks controlled by the side.

 

BattleGetStack(side, idx)

side:  The side which controls the stacks of creatures (0 or 1).

idx: The id number of the stack.

 

Returns the corresponding stack controlled by the side.

 

GetStackSide(stack)

stack: The stack of creatures on the battlefield.

 

Returns the side which controls the given stack.

 

GetStackQuantity(stack)

stack: The stack of creatures on the battlefield.

 

Returns the amount of creatures in the corresponding stack.

 

SetStackQuantity(stack, quantity)

stack: The stack of creatures on the battlefield.

quantity: The desired number of creatures for this stack.

 

Sets the number of creatures in the given stack to the given quantity.

 

GetStackInitialQuantity(stack)

stack: The stack of creatures on the battlefield.

 

Returns the amount of creatures that were present in the beginning of the battle for the given stack.

 

SetStackInitialQuantity(stack, quantity)

stack: The stack of creatures on the battlefield.

quantity: The desired number of "initial" creatures for this stack.

 

Changes the number of initial creatures for this stack to the given quantity, affecting the record of how many creatures were initially present and affecting gameplay accordingly.

 

It is advised to use this with caution. Such uses for this could perhaps include using this in tandem with the Resurrect spell, in order to add creatures to the given stack.

 

GetStackType(stack)

stack: The stack of creatures on the battlefield.

 

Returns the creature type in the corresponding stack.

 

GetStackHex(stack)

stack: The stack of creatures on the battlefield.

 

Returns the hex position on the battlefield for the corresponding stack.

 

IsHexEmpty(hex)

hex: The position to check for (an int between 0 and 116 representing the position on the 13x9 battle grid).

 

Returns true if there are no creatures in this position, false otherwise.

 

HasTroop(hero, creature, quantity)

hero: The hero (See, for example, GetHero).

creature: Creature type (See section "Creatures").

quantity: The number of creatures in the hero's army.

 

Returns true if the given hero has equal or more creatures of the specified type, false otherwise.

 

TakeTroop(hero, creature, quantity)

hero: The hero (See, for example, GetHero).

creature: Creature type (See section "Creatures").

quantity: The number of creatures in the hero's army.

 

Takes away the specified amount of corresponding creatures from the given hero's army.

 

GetCreatureAmount(hero, creature)

hero: The hero (See, for example, GetHero).

creature: Creature type (See section "Creatures").

 

Returns the number of specified creatures in the hero's army.

 

GetStackMorale(stack)

stack: The stack of creatures on the battlefield.

 

Returns the morale of the specified stack.

 

SetStackMorale(stack, morale)

stack: The stack of creatures on the battlefield.
morale: The desired morale of the given stack.

 

Sets the morale of the specified stack to the given amount.

 

GetStackLuck(stack)

stack: The stack of creatures on the battlefield.

 

Returns the luck of the specified stack.

 

SetStackLuck(stack, Luck)

stack: The stack of creatures on the battlefield.
morale: The desired morale of the given stack.

 

Sets the morale of the specified stack to the given amount.


GetStackAttack(stack)

stack: The stack of creatures on the battlefield.

 

Returns the attack of the specified stack.

 

SetStackAttack(stack, att)

stack: The stack of creatures on the battlefield.
att: The desired attack of the given stack.

 

Sets the attack of the specified stack to the given amount.


GetStackDefense(stack)

stack: The stack of creatures on the battlefield.

 

Returns the defense of the specified stack.

 

SetStackDefense(stack, def)

stack: The stack of creatures on the battlefield.
def: The desired defense of the given stack.

 

Sets the defense of the specified stack to the given amount.


GetStackSpeed(stack)

stack: The stack of creatures on the battlefield.

 

Returns the speed of the specified stack.

 

SetStackSpeed(stack, speed)

stack: The stack of creatures on the battlefield.
speed: The desired speed of the given stack.

 

Sets the speed of the specified stack to the given amount.


GetStackShots(stack)

stack: The stack of creatures on the battlefield.

 

Returns the number of shots of the specified stack.

 

SetStackShots(stack, shuts)

stack: The stack of creatures on the battlefield.
shots: The desired number of shots of the given stack.

 

Sets the number of shots of the specified stack to the given amount.  Only works on ranged creatures.


GetStackHp(stack)

stack: The stack of creatures on the battlefield.

 

Returns the hp of the specified stack.

 

SetStackHp(stack, hp)

stack: The stack of creatures on the battlefield.
hp: The desired HP of the given stack.

 

Sets the HP remaining of the last creature in the specified stack to the given amount. Only works properly if HP is between 1 and the creature's MAX HP. If you set it to a different value, that the creature's quantity will be updated next time the creature takes damage. If the HP set is greater than its normal max HP, this will result in it actually increasing in quantity.

 

 

BattleMessage(message)

message: String containing message to display.

 

Displays the given message during the battle in the status bar at the bottom of the screen.

 

 

Callbacks

 

OnMapStart()

It is called at the start of the map. There are no arguments for this callback.

 

OnNewDay(month, week, day)

It is called at the beginning of every day.  month, week, day will have the corresponding values.

 

OnTownOpen(town)

It is called when a town is opened in the Town Screen. town is the town opened as a deep-bound object.

 

OnHeroMove(x, y)

It is called when a hero moves on the world map. x, y is the position where the hero will move to.

 

OnUnitRecruit(creatureid)

It is called when a recruit box for a creature is opened. creatureid is the creature type, for example Ranger (CREATURE_RANGER).

 

OnBattleStart()

It is called when a battle is started. There are no arguments for this callback.

 

OnBattleMeleeAttack(attackerStack, targetStack, isRetaliation)

It is called when a creature hits another creature on the battlefield. attackerStack and targetStack are the stacks involved. isRetaliation is 1 or 0 (1 is when the creature fights back after being attacked).

 

Beware that some modifications to battle state will not work in the middle of an attack, e.g.: summoning a creature. See OnBattleMeleeAttackComplete.

 

OnBattleMeleeAttackComplete(attackerStack, targetStack)

 

Called after every melee exchange. If Creature A attacks Creature B, and Creature B retaliates, this will be only called once, after the retaliation. Use this to perform state changes in response to a melee attack.

 

 

OnLocationVisit(type, x, y)

It is called when a player (human players only) attempts to visit any game's special location that has an event associated to it. xy is the position of the campfire on the world map. See the possible type's in Locations.

 

May return an optional boolean result. Return true to indicate that the game should skip the normal event associated with this location, and false to indicate the game should perform the normal event associated with this location. Returning nothing is equivalent to returning false.

 

Note that both boarding and disembarking from a boat will trigger this event.

 

OnMonsterInteract(x, y)

It is called when a hero interacts with a monster on the adventure map.

 

OnMapVictory()

It is called when a player wins the map. There are no arguments for this callback.

 

OnMapLoss()

It is called when a player loses the map. There are no arguments for this callback.

 

OnCastleConquered(CastleId, PlayerId)

It is called when a castle is conquered and at the start of the map for each owned town. CastleId is the ID of the castle and PlayerId is the ID of the player who conquered the castle.  

 

OnArtifactGive(hero, id)

It is called when a hero is given an artifact. hero is a deepbound object, id is artifact ID (See Artifacts)


OnArtifactTake(hero, id)

It is called when a hero artifact is taken. hero is a deepbound object, id is artifact ID (See Artifacts)

 
OnCalcMobility(hero, mobility)

It is called during hero mobility calculation. hero is a deepbound object, mobility is an integer value representing how much mobility original game code gives

In order to modify the mobility you must return modified mobility e.g. "return mobility + 500" to increase mobility by 500. 

 
OnCalcManaCost(hero, spell, cost)

It is called during calculation of a spell mana cost for a specific hero. hero is a deepbound object, spell is an ID of the spell (See Spells), cost is an integer value representing what original game code calculated

In order to modify the cost you must return modified cost e.g. "return cost + 5" to increase cost by 5.

 
OnCalcSpellChance(army, spell, chance)

It is called during calculation of spell chance when a spell is used against a specific army stack on the combat field. army is a deepbound object, spell is an ID of the spell (see Spells), chance is a real number between 0.0 and 1.0 representing what original game code calculated

In order to modify the chance you must return modified chance e.g. "return 0.5" to make the chance 50%


OnCalcLuck(hero, army, town, luck)

It is called during calculation of luck and depends on hero, calculated army stack and town if it's a castle battle. hero, army and town are deepbound objects. luck is an integer number from -3 to 3 representing what original game code calculated

In order to modify the luck you must return modified luck e.g. "return 0" to neutralize all luck bonuses

 
OnShowLuckInfo(hero)

It is called when a player right-clicks on the luck icon in hero overview screen. hero is a deepbound object

In order to add special message for an artifact for example you can return a string here after checking if the hero has this artifact e.g. "return 'My lucky artifact +2'". The string will be added to the list of other luck bonuses

 
OnCalcMorale(hero, town, morale)

It is called during calculation of luck and depends on hero and town if it's a castle battle. hero and town are deepbound objects. Morale is an integer number from -3 to 3 representing what original game code calculated

In order to modify the morale you must return modified morale e.g. "return 3" to make the highest possible morale

 
OnShowMoraleInfo(hero)

It is called when a player right-clicks on the morale icon in hero overview screen. hero is a deepbound object

In order to add special message for an artifact for example you can return a string here after checking if the hero has this artifact e.g. "return 'My sad artifact -1'". The string will be added to the list of other morale bonuses

 

 

mapVariables

A list containing the name of all the variables you wish to save. 

 

This option allows variables to be persistent through saves and loads. See Basics of Scripting. 

 

 

Artifacts

 

Following is a list of available artifact IDs.

 

ARTIFACT_ULTIMATE_BOOK_OF_KNOWLEDGE

ARTIFACT_ULTIMATE_SWORD_OF_DOMINION

ARTIFACT_ULTIMATE_CLOAK_OF_PROTECTION

ARTIFACT_ULTIMATE_WAND_OF_MAGIC

ARTIFACT_ULTIMATE_SHIELD

ARTIFACT_ULTIMATE_STAFF

ARTIFACT_ULTIMATE_CROWN

ARTIFACT_GOLDEN_GOOSE

ARTIFACT_ARCANE_NECKLACE_OF_MAGIC

ARTIFACT_CASTERS_BRACELET_OF_MAGIC

ARTIFACT_MAGES_RING_OF_POWER

ARTIFACT_WITCHS_BROACH_OF_MAGIC

ARTIFACT_MEDAL_OF_VALOR

ARTIFACT_MEDAL_OF_COURAGE

ARTIFACT_MEDAL_OF_HONOR

ARTIFACT_MEDAL_OF_DISTINCTION

ARTIFACT_FIZBIN_OF_MISFOURTUNE

ARTIFACT_THUNDER_MACE_OF_DOMINION

ARTIFACT_ARMORED_GAUNTLETS_OF_PROTECTION

ARTIFACT_DEFENDER_HELM_OF_PROTECTION

ARTIFACT_GIANT_FLAIL_OF_DOMINION

ARTIFACT_BALLISTA_OF_QUICKNESS

ARTIFACT_STEALTH_SHIELD_OF_PROTECTION

ARTIFACT_DRAGON_SWORD_OF_DOMINION

ARTIFACT_POWER_AXE_OF_DOMINION

ARTIFACT_DIVINE_BREASTPLATE_OF_PROTECTION

ARTIFACT_MINOR_SCROLL_OF_KNOWLEDGE

ARTIFACT_MAJOR_SCROLL_OF_KNOWLEDGE

ARTIFACT_SUPERIOR_SCROLL_OF_KNOWLEDGE

ARTIFACT_FOREMOST_SCROLL_OF_KNOWLEDGE

ARTIFACT_ENDLESS_SACK_OF_GOLD

ARTIFACT_ENDLESS_BAG_OF_GOLD

ARTIFACT_ENDLESS_PURSE_OF_GOLD

ARTIFACT_NOMAD_BOOTS_OF_MOBILITY

ARTIFACT_TRAVELERS_BOOTS_OF_MOBILITY

ARTIFACT_LUCKY_RABBITS_FOOT

ARTIFACT_GOLDEN_HORSESHOE

ARTIFACT_GAMBLERS_LUCKY_COIN

ARTIFACT_FOUR_LEAF_CLOVER

ARTIFACT_TRUE_COMPASS_OF_MOBILITY

ARTIFACT_SAILORS_ASTROLABE_OF_MOBILITY

ARTIFACT_EVIL_EYE

ARTIFACT_ENCHANTED_HOURGLASS

ARTIFACT_GOLD_WATCH

ARTIFACT_SKULLCAP

ARTIFACT_ICE_CLOAK

ARTIFACT_FIRE_CLOAK

ARTIFACT_LIGHTNING_HELM

ARTIFACT_EVERCOLD_ICICLE

ARTIFACT_EVERHOT_LAVA_ROCK

ARTIFACT_LIGHTNING_ROD

ARTIFACT_SNAKE_RING

ARTIFACT_ANKH

ARTIFACT_BOOK_OF_ELEMENTS

ARTIFACT_ELEMENTAL_RING

ARTIFACT_HOLY_PENDANT

ARTIFACT_PENDANT_OF_FREE_WILL

ARTIFACT_PENDANT_OF_LIFE

ARTIFACT_SERENITY_PENDANT

ARTIFACT_SEEING_EYE_PENDANT

ARTIFACT_KINETIC_PENDANT

ARTIFACT_PENDANT_OF_DEATH

ARTIFACT_WAND_OF_NEGATION

ARTIFACT_GOLDEN_BOW

ARTIFACT_TELESCOPE

ARTIFACT_STATESMANS_QUILL

ARTIFACT_WIZARDS_HAT

ARTIFACT_POWER_RING

ARTIFACT_AMMO_CART

ARTIFACT_TAX_LIEN

ARTIFACT_HIDEOUS_MASK

ARTIFACT_ENDLESS_POUCH_OF_SULFUR

ARTIFACT_ENDLESS_VIAL_OF_MERCURY

ARTIFACT_ENDLESS_POUCH_OF_GEMS

ARTIFACT_ENDLESS_CORD_OF_WOOD

ARTIFACT_ENDLESS_CART_OF_ORE

ARTIFACT_ENDLESS_POUCH_OF_CRYSTAL

ARTIFACT_SPIKED_HELM

ARTIFACT_SPIKED_SHIELD

ARTIFACT_WHITE_PEARL

ARTIFACT_BLACK_PEARL

ARTIFACT_MAGIC_BOOK

ARTIFACT_SPELL_SCROLL

ARTIFACT_ARM_OF_THE_MARTYR

ARTIFACT_BREASTPLATE_OF_ANDURAN

ARTIFACT_BROACH_OF_SHIELDING

ARTIFACT_BATTLE_GARB_OF_ANDURAN

ARTIFACT_CRYSTAL_BALL

ARTIFACT_HEART_OF_FIRE

ARTIFACT_HEART_OF_ICE

ARTIFACT_HELMET_OF_ANDURAN

ARTIFACT_HOLY_HAMMER

ARTIFACT_LEGENDARY_SCEPTER

ARTIFACT_MASTHEAD

ARTIFACT_SPHERE_OF_NEGATION

ARTIFACT_STAFF_OF_WIZARDRY

ARTIFACT_SWORD_BREAKER

ARTIFACT_SWORD_OF_ANDURAN

ARTIFACT_SPADE_OF_NECROMANCY

ARTIFACT_PANDORA_BOX

 

 

Buildings

 

Following is a list of all available building IDs. Note that BUILDING_TAVERN is also used for the Necromancer's Shrine.

 

BUILDING_MAGE_GUILD

BUILDING_THIEVES_GUILD

BUILDING_TAVERN

BUILDING_DOCK

BUILDING_WELL

BUILDING_TENT

BUILDING_CASTLE

BUILDING_STATUE

BUILDING_LEFT_TURRET

BUILDING_RIGHT_TURRET

BUILDING_MARKET

BUILDING_SPECIAL_GROWTH

BUILDING_MOAT

BUILDING_SPECIAL

BUILDING_BOAT

BUILDING_CAPTAIN

BUILDING_DWELLING_1

BUILDING_DWELLING_2

BUILDING_DWELLING_3

BUILDING_DWELLING_4

BUILDING_DWELLING_5

BUILDING_DWELLING_6

BUILDING_UPGRADE_1

BUILDING_UPGRADE_2

BUILDING_UPGRADE_3

BUILDING_UPGRADE_4

BUILDING_UPGRADE_5

BUILDING_UPGRADE_5B

 

 

Creatures

 

GetCreatureCost(creature)

creature: The creature of interest.

 

Returns the cost of the creature.

 

Following is a list of creature IDs.

 

CREATURE_PEASANT 

CREATURE_ARCHER 

CREATURE_RANGER 

CREATURE_PIKEMAN 

CREATURE_VETERAN_PIKEMAN 

CREATURE_SWORDSMAN 

CREATURE_MASTER_SWORDSMAN 

CREATURE_CAVALRY 

CREATURE_CHAMPION 

CREATURE_PALADIN 

CREATURE_CRUSADER 

CREATURE_GOBLIN 

CREATURE_ORC 

CREATURE_ORC_CHIEF 

CREATURE_WOLF 

CREATURE_OGRE 

CREATURE_OGRE_LORD 

CREATURE_TROLL 

CREATURE_WAR_TROLL 

CREATURE_CYCLOPS 

CREATURE_SPRITE 

CREATURE_DWARF 

CREATURE_BATTLE_DWARF 

CREATURE_ELF 

CREATURE_GRAND_ELF 

CREATURE_DRUID 

CREATURE_GREATER_DRUID 

CREATURE_UNICORN 

CREATURE_PHOENIX 

CREATURE_CENTAUR 

CREATURE_GARGOYLE 

CREATURE_GRIFFIN 

CREATURE_MINOTAUR 

CREATURE_MINOTAUR_KING 

CREATURE_HYDRA 

CREATURE_GREEN_DRAGON 

CREATURE_RED_DRAGON 

CREATURE_BLACK_DRAGON 

CREATURE_HALFLING 

CREATURE_BOAR 

CREATURE_IRON_GOLEM 

CREATURE_STEEL_GOLEM 

CREATURE_ROC 

CREATURE_MAGE 

CREATURE_ARCHMAGE 

CREATURE_GIANT 

CREATURE_TITAN 

CREATURE_SKELETON 

CREATURE_ZOMBIE 

CREATURE_MUTANT_ZOMBIE 

CREATURE_MUMMY 

CREATURE_ROYAL_MUMMY 

CREATURE_VAMPIRE 

CREATURE_VAMPIRE_LORD 

CREATURE_LICH 

CREATURE_POWER_LICH 

CREATURE_BONE_DRAGON 

CREATURE_ROGUE 

CREATURE_NOMAD 

CREATURE_GHOST 

CREATURE_GENIE 

CREATURE_MEDUSA 

CREATURE_EARTH_ELEMENTAL 

CREATURE_AIR_ELEMENTAL 

CREATURE_FIRE_ELEMENTAL 

CREATURE_WATER_ELEMENTAL 

CREATURE_KOBOLD 

CREATURE_BLOODSUCKER 

CREATURE_HARPY 

CREATURE_BLACK_KNIGHT 

CREATURE_CATOBLEBA 

CREATURE_TREANT 

 

 

Skills

 

Following is a list of primary skill IDs.

 

PRIMARY_SKILL_ATTACK

PRIMARY_SKILL_DEFENSE

PRIMARY_SKILL_SPELLPOWER

PRIMARY_SKILL_KNOWLEDGE

 

Following is a list of secondary skill IDs.

 

SECONDARY_SKILL_PATHFINDING

SECONDARY_SKILL_ARCHERY

SECONDARY_SKILL_LOGISTICS

SECONDARY_SKILL_SCOUTING

SECONDARY_SKILL_DIPLOMACY

SECONDARY_SKILL_NAVIGATION

SECONDARY_SKILL_LEADERSHIP

SECONDARY_SKILL_WISDOM

SECONDARY_SKILL_MYSTICISM

SECONDARY_SKILL_LUCK

SECONDARY_SKILL_BALLISTICS

SECONDARY_SKILL_EAGLE_EYE

SECONDARY_SKILL_NECROMANCY

SECONDARY_SKILL_ESTATES

 

 

Spells

 

Following is a list of available spell IDs.

 

SPELL_FIREBALL

SPELL_FIREBLAST

SPELL_LIGHTNING_BOLT

SPELL_CHAIN_LIGHTNING

SPELL_TELEPORT

SPELL_CURE

SPELL_MASS_CURE

SPELL_RESURRECT

SPELL_RESURRECT_TRUE

SPELL_HASTE

SPELL_MASS_HASTE

SPELL_SLOW

SPELL_MASS_SLOW

SPELL_BLIND

SPELL_BLESS

SPELL_MASS_BLESS

SPELL_STONESKIN

SPELL_STEELSKIN

SPELL_CURSE

SPELL_MASS_CURSE

SPELL_HOLY_WORD

SPELL_HOLY_SHOUT

SPELL_ANTI_MAGIC

SPELL_DISPEL_MAGIC

SPELL_MASS_DISPEL

SPELL_MAGIC_ARROW

SPELL_BERZERKER

SPELL_ARMAGEDDON

SPELL_ELEMENTAL_STORM

SPELL_METEOR_SHOWER

SPELL_PARALYZE

SPELL_HYPNOTIZE

SPELL_COLD_RAY

SPELL_COLD_RING

SPELL_DISRUPTING_RAY

SPELL_DEATH_RIPPLE

SPELL_DEATH_WAVE

SPELL_DRAGON_SLAYER

SPELL_BLOOD_LUST

SPELL_ANIMATE_DEAD

SPELL_MIRROR_IMAGE

SPELL_SHIELD

SPELL_MASS_SHIELD

SPELL_SUMMON_EARTH_ELEMENTAL

SPELL_SUMMON_AIR_ELEMENTAL

SPELL_SUMMON_FIRE_ELEMENTAL

SPELL_SUMMON_WATER_ELEMENTAL

SPELL_EARTHQUAKE

SPELL_VIEW_MINES

SPELL_VIEW_RESOURCES

SPELL_VIEW_ARTIFACTS

SPELL_VIEW_TOWNS

SPELL_VIEW_HEROES

SPELL_VIEW_ALL

SPELL_IDENTIFY

SPELL_SUMMON_BOAT

SPELL_DIMENSION_DOOR

SPELL_TOWN_GATE

SPELL_TOWN_PORTAL

SPELL_VISIONS

SPELL_HAUNT

SPELL_SET_EARTH_GUARDIAN

SPELL_SET_AIR_GUARDIAN

SPELL_SET_FIRE_GUARDIAN

SPELL_SET_WATER_GUARDIAN

 

Resources

 

Following is a list of available resource IDs.

 

RESOURCE_WOOD

RESOURCE_MERCURY

RESOURCE_ORE

RESOURCE_SULFUR

RESOURCE_CRYSTAL

RESOURCE_GEMS

RESOURCE_GOLD

 

Locations

 

Following is a list of available location IDs.

 

LOCATION_ALCHEMIST_LAB

LOCATION_SIGN

LOCATION_BUOY

LOCATION_SKELETON

LOCATION_DAEMON_CAVE

LOCATION_TREASURE_CHEST

LOCATION_FAERIE_RING

LOCATION_CAMPFIRE

LOCATION_FOUNTAIN

LOCATION_GAZEBO

LOCATION_ANCIENT_LAMP

LOCATION_GRAVEYARD

LOCATION_ARCHERS_HOUSE

LOCATION_GOBLIN_HUT

LOCATION_DWARF_COTTAGE

LOCATION_PEASANT_HUT

LOCATION_LOG_CABIN

LOCATION_ROAD

LOCATION_EVENT

LOCATION_DRAGON_CITY

LOCATION_LIGHTHOUSE

LOCATION_WATERWHEEL

LOCATION_MINE

LOCATION_ARMY_CAMP

LOCATION_OBELISK

LOCATION_OASIS

LOCATION_RESOURCE

LOCATION_SAWMILL

LOCATION_ORACLE

LOCATION_SHRINE_FIRST

LOCATION_SHIPWRECK

LOCATION_SEA_CHEST

LOCATION_DESRT_TENT

LOCATION_TOWN

LOCATION_STONE_LITHS

LOCATION_WAGON_CAMP

LOCATION_WELL

LOCATION_WHIRLPOOL

LOCATION_WINDMILL

LOCATION_ARTIFACT

LOCATION_HERO

LOCATION_BOAT

LOCATION_RANDOM_ARTIFACT

LOCATION_RANDOM_RESOURCE

LOCATION_RANDOM_MONSTER

LOCATION_RANDOM_TOWN

LOCATION_RANDOM_CASTLE

LOCATION_RANDOM_MONSTER_WEAK

LOCATION_RANDOM_MONSTER_MEDIUM

LOCATION_RANDOM_MONSTER_STRONG

LOCATION_RANDOM_MONSTER_VERY_STRONG

LOCATION_RANDOM_HERO

LOCATION_NOTHING_SPECIAL

LOCATION_WATCH_TOWER

LOCATION_TREE_HOUSE

LOCATION_TREE_CITY

LOCATION_RUINS

LOCATION_FORT

LOCATION_TRADING_POST

LOCATION_ABANDONED_MINE

LOCATION_DWARF_CABIN

LOCATION_STANDING_STONES

LOCATION_IDOL

LOCATION_TREE_OF_KNOWLEDGE

LOCATION_WITCH_DOCTORS_HUT

LOCATION_TEMPLE

LOCATION_HILL_FORT

LOCATION_HALFLING_HOLE

LOCATION_MERCENARY_CAMP

LOCATION_SHRINE_SECOND_ORDER

LOCATION_SHRINE_THIRD_ORDER

LOCATION_PYRAMID

LOCATION_CITY_OF_DEAD

LOCATION_EXCAVATION

LOCATION_SPHINX

LOCATION_WAGON

LOCATION_TAR_PIT

LOCATION_ARTESIAN_SPRING

LOCATION_TROLL_BRIDGE

LOCATION_WATERING_HOLE

LOCATION_WITCH_HUT

LOCATION_XANADU

LOCATION_CAVE

LOCATION_LEAN_TO

LOCATION_MAGELLANS_MAPS

LOCATION_FLOTSAM

LOCATION_DERELICT_SHIP

LOCATION_SHIPWRECK_SURVIVOR

LOCATION_BOTTLE

LOCATION_MAGIC_WELL

LOCATION_MAGIC_GARDEN

LOCATION_OBSERVATION_TOWER

LOCATION_FREEMANS_FOUNDRY

LOCATION_STREAM

LOCATION_TREES

LOCATION_MOUNTAINS

LOCATION_VOLCANO

LOCATION_FLOWERS

LOCATION_ROCK

LOCATION_LAKE

LOCATION_MANDRAKE

LOCATION_DEAD_TREE

LOCATION_STUMP

LOCATION_CRATER

LOCATION_CACTUS

LOCATION_MOUND

LOCATION_DUNE

LOCATION_LAVA_POOL

LOCATION_SHRUB

LOCATION_HOLE

LOCATION_OUTCROPPING

LOCATION_RANDOM_ARTIFACT_TREASURE

LOCATION_RANDOM_ARTIFACT_MINOR

LOCATION_RANDOM_ARTIFACT_MAJOR

LOCATION_BARRIER

LOCATION_TRAVELLER_TENT

LOCATION_EXPANSION_DWELLING

LOCATION_ALCHEMIST_TOWER

LOCATION_JAIL

 

Campaign choice type

 

Following is a list of available campaign choice type IDs.

 

CAMPAIGN_CHOICE_RESOURCE

CAMPAIGN_CHOICE_ARTIFACT

CAMPAIGN_CHOICE_SPELL

CAMPAIGN_CHOICE_SECONDARY_SKILL

CAMPAIGN_CHOICE_ARMY

CAMPAIGN_CHOICE_PUZZLE_PIECES

CAMPAIGN_CHOICE_EXPERIENCE

CAMPAIGN_CHOICE_NOT_AVAILABLE

CAMPAIGN_CHOICE_ALIGNMENT

CAMPAIGN_CHOICE_PRIMARY_SKILL

CAMPAIGN_CHOICE_SPELL_SCROLL

 

 

LOCATION_ALCHEMIST_LAB
LOCATION_SIGN
LOCATION_BUOY
LOCATION_SKELETON
LOCATION_DAEMON_CAVE
LOCATION_TREASURE_CHEST
LOCATION_FAERIE_RING
LOCATION_CAMPFIRE
LOCATION_FOUNTAIN
LOCATION_GAZEBO
LOCATION_ANCIENT_LAMP
LOCATION_GRAVEYARD
LOCATION_ARCHERS_HOUSE
LOCATION_GOBLIN_HUT
LOCATION_DWARF_COTTAGE
LOCATION_PEASANT_HUT
LOCATION_LOG_CABIN
LOCATION_ROAD
LOCATION_EVENT
LOCATION_DRAGON_CITY
LOCATION_LIGHTHOUSE
LOCATION_WATERWHEEL
LOCATION_MINE
LOCATION_ARMY_CAMP
LOCATION_OBELISK
LOCATION_OASIS
LOCATION_RESOURCE
LOCATION_SAWMILL
LOCATION_ORACLE
LOCATION_SHRINE_FIRST
LOCATION_SHIPWRECK
LOCATION_SEA_CHEST
LOCATION_DESRT_TENT
LOCATION_TOWN
LOCATION_STONE_LITHS
LOCATION_WAGON_CAMP
LOCATION_WELL
LOCATION_WHIRLPOOL
LOCATION_WINDMILL
LOCATION_ARTIFACT
LOCATION_HERO
LOCATION_BOAT
LOCATION_RANDOM_ARTIFACT
LOCATION_RANDOM_RESOURCE
LOCATION_RANDOM_MONSTER
LOCATION_RANDOM_TOWN
LOCATION_RANDOM_CASTLE
LOCATION_RANDOM_MONSTER_WEAK
LOCATION_RANDOM_MONSTER_MEDIUM
LOCATION_RANDOM_MONSTER_STRONG
LOCATION_RANDOM_MONSTER_VERY_STRONG
LOCATION_RANDOM_HERO
LOCATION_NOTHING_SPECIAL
LOCATION_WATCH_TOWER
LOCATION_TREE_HOUSE
LOCATION_TREE_CITY
LOCATION_RUINS
LOCATION_FORT
LOCATION_TRADING_POST
LOCATION_ABANDONED_MINE
LOCATION_DWARF_CABIN
LOCATION_STANDING_STONES
LOCATION_IDOL
LOCATION_TREE_OF_KNOWLEDGE
LOCATION_WITCH_DOCTORS_HUT
LOCATION_TEMPLE
LOCATION_HILL_FORT
LOCATION_HALFLING_HOLE
LOCATION_MERCENARY_CAMP
LOCATION_SHRINE_SECOND_ORDER
LOCATION_SHRINE_THIRD_ORDER
LOCATION_PYRAMID
LOCATION_CITY_OF_DEAD
LOCATION_EXCAVATION
LOCATION_SPHINX
LOCATION_WAGON
LOCATION_TAR_PIT
LOCATION_ARTESIAN_SPRING
LOCATION_TROLL_BRIDGE
LOCATION_WATERING_HOLE
LOCATION_WITCH_HUT
LOCATION_XANADU
LOCATION_CAVE
LOCATION_LEAN_TO
LOCATION_MAGELLANS_MAPS
LOCATION_FLOTSAM
LOCATION_DERELICT_SHIP
LOCATION_SHIPWRECK_SURVIVOR
LOCATION_BOTTLE
LOCATION_MAGIC_WELL
LOCATION_MAGIC_GARDEN
LOCATION_OBSERVATION_TOWER
LOCATION_FREEMANS_FOUNDRY
LOCATION_STREAM
LOCATION_TREES
LOCATION_MOUNTAINS
LOCATION_VOLCANO
LOCATION_FLOWERS
LOCATION_ROCK
LOCATION_LAKE
LOCATION_MANDRAKE
LOCATION_DEAD_TREE
LOCATION_STUMP
LOCATION_CRATER
LOCATION_CACTUS
LOCATION_MOUND
LOCATION_DUNE
LOCATION_LAVA_POOL
LOCATION_SHRUB
LOCATION_HOLE
LOCATION_OUTCROPPING
LOCATION_RANDOM_ARTIFACT_TREASURE
LOCATION_RANDOM_ARTIFACT_MINOR
LOCATION_RANDOM_ARTIFACT_MAJOR
LOCATION_BARRIER
LOCATION_TRAVELLER_TENT
LOCATION_EXPANSION_DWELLING
LOCATION_ALCHEMIST_TOWER
LOCATION_JAIL
TILE_HAS_EVENT

o   hero

§  name

§  owner

§  spellpoints

§  level

§  tempMoraleBOnuses

§  tempLuckBonuses

§  mobility

§  remainingMobility

o   town

§  name

§  owner

§  faction

o   playerData

§  daysLeftWithoutCastle

o   army

§  side

§  type

§  quantity

§  initialQuantity

§  hex

§  morale

§  luck

·         Query

o   hero

§  name

§  owner

§  spellpoints

§  level

§  tempMoraleBonuses

§  tempLuckBonuses

§  mobility

§  remainingMobility

§  x

§  y

o   town

§  name

§  owner

§  faction

§  x

§  y

§  visitingHeroIdx

§  visitingHero

o   playerData

§  color

§  numHeroes

§  daysLeftWithoutCastle

o   army

§  side

§  type

§  creatureIdx

§  quantity

§  initialQuantity

§  hex

§  morale

§  luck

Comments (0)

You don't have permission to comment on this page.