references

package
v0.0.0-...-d7704fd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 6, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ItemTypeReagentStr     ItemTypeStringIndex = "Reagent"
	ItemTypeEquipmentStr                       = "Equipment"
	ItemTypeSpellStr                           = "Spell"
	ItemTypeSpecialItemStr                     = "Special"
	ItemTypeScrollStr                          = "Scroll"
	ItemTypePotionStr                          = "Potion"
	ItemTypeShardStr                           = "Shard"
	ItemTypeQuestItemStr                       = "QuestItem"
	ItemTypeMoonstoneStr                       = "Moonstone"
	ItemTypeProvisionStr                       = "Provision"
)
View Source
const (
	NewMoon        Moonstone = 0
	CrescentWaxing           = 1
	FirstQuarter             = 2
	GibbousWaxing            = 3
	FullMoon                 = 4
	GibbousWaning            = 5
	LastQuarter              = 6
	CrescentWaning           = 7
)
View Source
const (
	Blue   Potion = 0
	Yellow        = 1
	Red           = 2
	Green         = 3
	Orange        = 4
	Purple        = 5
	Black         = 6
	White         = 7
)
View Source
const (
	Torches   Provision = 0
	Gem                 = 1
	Key                 = 2
	SkullKeys           = 3
	Food                = 4
	Gold                = 5 // not really a provision - but needed for descriptions
)
View Source
const (
	Amulet  QuestItem = 0
	Crown             = 1
	Sceptre           = 2
)
View Source
const (
	SulfurAsh    Reagent = 0
	Ginseng              = 1
	Garlic               = 2
	SpiderSilk           = 3
	BloodMoss            = 4
	BlackPearl           = 5
	NightShade           = 6
	MandrakeRoot         = 7
)
View Source
const (
	ScrollVasLor     Scroll = 0
	ScrollRelHur            = 1
	ScrollInSanct           = 2
	ScrollInAn              = 3
	ScrollInQuasWis         = 4
	ScrollKalXenCorp        = 5
	ScrollInManiCorp        = 6
	ScrollAnTym             = 7
)
View Source
const (
	Falsehood Shard = 0
	Hatred          = 1
	Cowardice       = 2
)
View Source
const (
	Carpet      SpecialItem = 0
	Grapple                 = 1
	Spyglass                = 2
	HMSCape                 = 3
	PocketWatch             = 4
	BlackBadge              = 5
	WoodenBox               = 6
	Sextant                 = 7
)
View Source
const (
	YLargeMapTiles        = Coordinate(256) // Total map height in tiles
	XLargeMapTiles        = Coordinate(256) // Total map width in tiles
	TotalChunks           = 256             // Number of chunks in the map
	TilesPerChunkX        = 16              // Tiles per chunk on the x-axis
	TilesPerChunkY        = 16              // Tiles per chunk on the y-axis
	DatOverlayBritMap int = 0x3886          // Offset for overlay data (adjust as needed)
)
View Source
const (
	// Fixed stay put
	Fixed AiType = 0

	// Wander wander a small radius
	Wander = 1

	// BigWander wander a wide radius
	BigWander = 2

	// ChildRunAway children are playful and run away from you
	ChildRunAway = 3

	// CustomAi special conversation for merchants
	CustomAi = 4

	// ExtortOrAttackOrFollow you better pay the guard or they will attack!
	ExtortOrAttackOrFollow = 6

	// DrudgeWorthThing he's a jerk - he will attack at first opportunity, and get as close to you as possible
	DrudgeWorthThing = 7

	// HorseWander horses wander if they aren't tied up
	HorseWander = 100

	// FollowAroundAndBeAnnoyingThenNeverSeeAgain people who are freed walk close to you and are annoying - but won't talk
	FollowAroundAndBeAnnoyingThenNeverSeeAgain = 101

	// SmallWanderWantsToChat they will wander in a small radius, but if they are next to you, then they will want to chat
	SmallWanderWantsToChat = 102

	// Begging beggars wander, and when next to Avatar they want to talk
	Begging = 103

	// GenericExtortingGuard They generally ask for 30-60gp tribute
	GenericExtortingGuard = 104

	// HalfYourGoldExtortingGuard These jerks want half your gold! Generally found in Minoc
	HalfYourGoldExtortingGuard = 105

	// MerchantBuyingSelling Merchant that doesn't move
	MerchantBuyingSelling = 106

	// MerchantBuyingSellingCustom I THINK this is a merchant that sells, but also wanders a bit
	MerchantBuyingSellingCustom = 107

	// MerchantBuyingSellingWander Merchants that wander their own store, but still sell
	MerchantBuyingSellingWander = 108

	// FixedExceptAttackWhenIsWantedByThePoPo They are Fixed unless wanted by the popo, at which time they seek and attack
	FixedExceptAttackWhenIsWantedByThePoPo = 109

	// BlackthornGuardWander Blackthorn guards will check in for password, with a small wander
	BlackthornGuardWander = 110

	// BlackthornGuardFixed Blackthorn guard stays put, but will ask password if prompted
	BlackthornGuardFixed = 111
	StoneGargoyleTrigger = 112
)
View Source
const (
	Blacksmith  NPCType = 0x81
	Barkeeper           = 0x82
	HorseSeller         = 0x83
	Shipwright          = 0x84
	Healer              = 0x87
	InnKeeper           = 0x88
	MagicSeller         = 0x85
	GuildMaster         = 0x86
	NoStatedNpc         = 0xFF
	Guard               = 0xFE
	WishingWell         = 0xFD
)
View Source
const (
	XSmallMapTiles         = Coordinate(32)
	YSmallMapTiles         = Coordinate(32)
	TotalSmallMapLocations = 32
)
View Source
const (
	WeightImpassable = -1
	WeightIdealPath  = 1
	WeightPath       = 2
	WeightGrass      = 3
	WeightDefault    = 10
)
View Source
const NumberOfProvisions = 5
View Source
const TotalLocations = 40

Variables

This section is empty.

Functions

func GetListOfAllSmallMaps

func GetListOfAllSmallMaps() []string

func IsSpecificLadderOrStairs

func IsSpecificLadderOrStairs(s indexes.SpriteIndex, ladderOrStairType LadderOrStairType) bool

Types

type AiType

type AiType int

type Coordinate

type Coordinate int16

type DataOvl

type DataOvl struct {
	LocationNames []string
}

func NewDataOvl

func NewDataOvl(config *config.UltimaVConfiguration) *DataOvl

type Direction

type Direction int
const (
	NoneDirection Direction = iota
	Up
	Down
	Left
	Right
)

func (Direction) GetDirectionCompassName

func (d Direction) GetDirectionCompassName() string

func (Direction) GetNewPositionInDirection

func (d Direction) GetNewPositionInDirection(position *Position) *Position

func (Direction) GetOppositeDirection

func (d Direction) GetOppositeDirection() Direction

type Equipment

type Equipment int
const (
	BareHands        Equipment = -2
	LeatherHelm      Equipment = 0
	ChainCoif        Equipment = 1
	IronHelm         Equipment = 2
	SpikedHelm       Equipment = 3
	SmallShield      Equipment = 4
	LargeShield      Equipment = 5
	SpikedShield     Equipment = 6
	MagicShield      Equipment = 7
	JewelShield      Equipment = 8
	ClothArmour      Equipment = 9
	LeatherArmour    Equipment = 10
	RingMail         Equipment = 11
	ScaleMail        Equipment = 12
	ChainMail        Equipment = 13
	PlateMail        Equipment = 14
	MysticArmour     Equipment = 15
	Dagger           Equipment = 16
	Sling            Equipment = 17
	Club             Equipment = 18
	FlamingOil       Equipment = 19
	MainGauche       Equipment = 20
	Spear            Equipment = 21
	ThrowingAxe      Equipment = 22
	ShortSword       Equipment = 23
	Mace             Equipment = 24
	MorningStar      Equipment = 25
	Bow              Equipment = 26
	Arrows           Equipment = 27
	Crossbow         Equipment = 28
	Quarrels         Equipment = 29
	LongSword        Equipment = 30
	TwoHHammer       Equipment = 31
	TwoHAxe          Equipment = 32
	TwoHSword        Equipment = 33
	Halberd          Equipment = 34
	ChaosSword       Equipment = 35
	MagicBow         Equipment = 36
	SilverSword      Equipment = 37
	MagicAxe         Equipment = 38
	GlassSword       Equipment = 39
	JeweledSword     Equipment = 40
	MysticSword      Equipment = 41
	RingInvisibility Equipment = 42
	RingProtection   Equipment = 43
	RingRegeneration Equipment = 44
	AmuletOfTurning  Equipment = 45
	SpikedCollar     Equipment = 46
	Ankh             Equipment = 47
	NoEquipment      Equipment = 255 // 0xFF in decimal
)

func (Equipment) ID

func (e Equipment) ID() int

func (Equipment) Type

func (e Equipment) Type() ItemType

type FloorNumber

type FloorNumber int8
const (
	Basement  FloorNumber = -1
	MainFloor             = 0
)

type GameReferences

type GameReferences struct {
	OverworldLargeMapReference  *LargeMapReference
	UnderworldLargeMapReference *LargeMapReference

	LocationReferences      *LocationReferences
	DataOvl                 *DataOvl
	TileReferences          *Tiles
	InventoryItemReferences *InventoryItemReferences
	LookReferences          *LookReferences
	NPCReferences           *NPCReferences
}

func NewGameReferences

func NewGameReferences(gameConfig *config.UltimaVConfiguration) (*GameReferences, error)

type GeneralMapType

type GeneralMapType int
const (
	LargeMapType GeneralMapType = iota
	SmallMapType
	CombatMapType
	DungeonMapType
)

type IndividualNPCBehaviour

type IndividualNPCBehaviour struct {
	Ai       AiType
	Position Position
	Floor    FloorNumber
}

type InventoryItem

type InventoryItem struct {
	ItemName                   string              `json:"ItemName"`
	ItemIndex                  int                 `json:"ItemIndex"`
	ItemNameHighlight          string              `json:"ItemNameHighlight"`
	ItemSprite                 indexes.SpriteIndex `json:"ItemSprite"`
	ItemSpriteExposed          indexes.SpriteIndex `json:"ItemSpriteExposed"`
	ItemDescription            string              `json:"ItemDescription"`
	ItemDescriptionAttribution string              `json:"ItemDescriptionAttribution"`
}

type InventoryItemReferences

type InventoryItemReferences struct {
	Equipment map[Equipment]InventoryItem
	Reagent   map[Reagent]InventoryItem
	Spell     map[Spell]InventoryItem
	Scroll    map[Scroll]InventoryItem
	Special   map[SpecialItem]InventoryItem
	Potion    map[Potion]InventoryItem
	Shard     map[Shard]InventoryItem
	QuestItem map[QuestItem]InventoryItem
	Moonstone map[Moonstone]InventoryItem
	Provision map[Provision]InventoryItem
	// contains filtered or unexported fields
}

func NewInventoryItemsReferences

func NewInventoryItemsReferences() *InventoryItemReferences

func (*InventoryItemReferences) GetListOfItems

func (i *InventoryItemReferences) GetListOfItems(itemStack *ItemStack) string

func (*InventoryItemReferences) GetReferenceByItem

func (i *InventoryItemReferences) GetReferenceByItem(item Item) InventoryItem

func (*InventoryItemReferences) UnmarshalJSON

func (i *InventoryItemReferences) UnmarshalJSON(data []byte) error

type Item

type Item interface {
	ID() int        // Unique ID for the item
	Type() ItemType // Type of the item (e.g., Spell, Scroll, etc.)
}

type ItemAndQuantity

type ItemAndQuantity struct {
	Quantity int
	Item     Item
}

func (*ItemAndQuantity) GetAsProvision

func (i *ItemAndQuantity) GetAsProvision() Provision

type ItemStack

type ItemStack struct {
	Items ItemStacks
}

func CreateNewItemStack

func CreateNewItemStack(itemStackType ItemStackType) ItemStack

func (*ItemStack) HasItems

func (i *ItemStack) HasItems() bool

func (*ItemStack) PeekTopItem

func (i *ItemStack) PeekTopItem() *ItemAndQuantity

type ItemStackType

type ItemStackType int
const (
	LordBritishTreasure ItemStackType = iota
)

type ItemStacks

type ItemStacks []ItemAndQuantity

type ItemStacksMap

type ItemStacksMap struct {
	// contains filtered or unexported fields
}

func NewItemStacksMap

func NewItemStacksMap() *ItemStacksMap

func (*ItemStacksMap) HasItemStackAtPosition

func (i *ItemStacksMap) HasItemStackAtPosition(pos *Position) bool

func (*ItemStacksMap) Peek

func (i *ItemStacksMap) Peek(pos *Position) *ItemAndQuantity

func (*ItemStacksMap) Pop

func (i *ItemStacksMap) Pop(pos *Position) *ItemAndQuantity

func (*ItemStacksMap) Push

func (i *ItemStacksMap) Push(pos *Position, itemStack *ItemStack)

type ItemType

type ItemType int
const (
	ItemTypeReagent ItemType = iota
	ItemTypeEquipment
	ItemTypeSpell
	ItemTypeSpecialItem
	ItemTypeScroll
	ItemTypePotion
	ItemTypeShard
	ItemTypeQuestItem
	ItemTypeMoonstone
	ItemTypeProvision
)

type ItemTypeStringIndex

type ItemTypeStringIndex string

type LadderOrStairType

type LadderOrStairType int
const (
	NotLadderOrStair LadderOrStairType = iota
	LadderOrStairUp
	LadderOrStairDown
)

func GetLadderOfStairsType

func GetLadderOfStairsType(currentFloor FloorNumber, targetFloor FloorNumber) LadderOrStairType

type LargeMapReference

type LargeMapReference struct {
	// contains filtered or unexported fields
}

func NewLargeMapReference

func NewLargeMapReference(gameConfig *config.UltimaVConfiguration, world World) (*LargeMapReference, error)

func (*LargeMapReference) GetSpriteIndex

func (m *LargeMapReference) GetSpriteIndex(x Coordinate, y Coordinate) indexes.SpriteIndex

type Location

type Location byte
const (
	EmptyLocation         Location = 0xFF
	Britannia_Underworld  Location = 0x00
	Moonglow              Location = 1
	Britain               Location = 2
	Jhelom                Location = 3
	Yew                   Location = 4
	Minoc                 Location = 5
	Trinsic               Location = 6
	Skara_Brae            Location = 7
	New_Magincia          Location = 8 // Town
	Fogsbane              Location = 9
	Stormcrow             Location = 10
	Greyhaven             Location = 11
	Waveguide             Location = 12
	Iolos_Hut             Location = 13
	Suteks_Hut            Location = 14
	SinVraals_Hut         Location = 15
	Grendels_Hut          Location = 16 // Dwelling
	Lord_Britishs_Castle  Location = 17
	Palace_of_Blackthorn  Location = 18
	West_Britanny         Location = 19
	North_Britanny        Location = 20
	East_Britanny         Location = 21
	Paws                  Location = 22
	Cove                  Location = 23
	Buccaneers_Den        Location = 24 // Castle
	Ararat                Location = 25
	Bordermarch           Location = 26
	Farthing              Location = 27
	Windemere             Location = 28
	Stonegate             Location = 29
	Lycaeum               Location = 30 // Keep
	Empath_Abbey          Location = 31
	Serpents_Hold         Location = 32
	Deceit                Location = 33 // Dungeons
	Despise               Location = 34
	Destard               Location = 35
	Wrong                 Location = 36
	Covetous              Location = 37
	Shame                 Location = 38
	Hythloth              Location = 39
	Doom                  Location = 40
	Combat_resting_shrine Location = 41
)

func (Location) GetMapType

func (l Location) GetMapType() GeneralMapType

func (Location) String

func (i Location) String() string

type LocationReferences

type LocationReferences struct {
	WorldLocations *WorldLocations
	// contains filtered or unexported fields
}

LocationReferences a collection of SingleSmallMapReferences. Provides an easier way to keep the raw map data organized and accessible

func NewSmallMapReferences

func NewSmallMapReferences(gameConfig *config.UltimaVConfiguration, dataOvl *DataOvl) (*LocationReferences, error)

func (*LocationReferences) GetLocationReference

func (s *LocationReferences) GetLocationReference(location Location) *SmallLocationReference

func (*LocationReferences) GetSmallLocationReference

func (s *LocationReferences) GetSmallLocationReference(name string) *SmallLocationReference

type LookReferences

type LookReferences struct {
	// contains filtered or unexported fields
}

func NewLookReferences

func NewLookReferences(gameConfig *config.UltimaVConfiguration) *LookReferences

func (*LookReferences) GetTileLookDescription

func (l *LookReferences) GetTileLookDescription(tileIndex indexes.SpriteIndex) string

type Moonstone

type Moonstone int

func (Moonstone) ID

func (m Moonstone) ID() int

func (Moonstone) Type

func (m Moonstone) Type() ItemType

type NPCReference

type NPCReference struct {
	Position     Position
	Location     Location
	DialogNumber byte
	Schedule     NPCSchedule
	Type         NPCType
}

func (*NPCReference) GetTileIndex

func (n *NPCReference) GetTileIndex() indexes.SpriteIndex

type NPCReferences

type NPCReferences struct {
	// contains filtered or unexported fields
}

func NewNPCReferences

func NewNPCReferences(config *config.UltimaVConfiguration) *NPCReferences

func (*NPCReferences) GetNPCReferencesByLocation

func (n *NPCReferences) GetNPCReferencesByLocation(location Location) *[]NPCReference

type NPCSchedule

type NPCSchedule struct {
	Ai    [totalScheduleItemsPerNpc]byte
	X     [totalScheduleItemsPerNpc]byte
	Y     [totalScheduleItemsPerNpc]byte
	Floor [totalScheduleItemsPerNpc]byte
	Time  [totalScheduleItemsPerNpc + 1]byte
}

func CreateNPCSchedule

func CreateNPCSchedule(rawData []byte) NPCSchedule

func (*NPCSchedule) GetIndividualNPCBehaviourByUltimaDate

func (n *NPCSchedule) GetIndividualNPCBehaviourByUltimaDate(ud datetime.UltimaDate) IndividualNPCBehaviour

func (*NPCSchedule) GetPreviousIndividualNPCBehaviourByUltimaDate

func (n *NPCSchedule) GetPreviousIndividualNPCBehaviourByUltimaDate(ud datetime.UltimaDate) IndividualNPCBehaviour

type NPCType

type NPCType byte

type PartyVehicle

type PartyVehicle int
const (
	NoPartyVehicle PartyVehicle = iota
	CarpetVehicle
	HorseVehicle
)

type Position

type Position struct {
	X, Y Coordinate
}

func (*Position) Equals

func (p *Position) Equals(position *Position) bool

func (*Position) GetHash

func (p *Position) GetHash() int32

func (*Position) GetPositionDown

func (p *Position) GetPositionDown() *Position

func (*Position) GetPositionToLeft

func (p *Position) GetPositionToLeft() *Position

func (*Position) GetPositionToRight

func (p *Position) GetPositionToRight() *Position

func (*Position) GetPositionUp

func (p *Position) GetPositionUp() *Position

func (*Position) GetWrapped

func (p *Position) GetWrapped(maxX Coordinate, maxY Coordinate) *Position

func (*Position) GoDown

func (p *Position) GoDown(bLarge bool)

func (*Position) GoLeft

func (p *Position) GoLeft(bLarge bool)

func (*Position) GoRight

func (p *Position) GoRight(bLarge bool)

func (*Position) GoUp

func (p *Position) GoUp(bLarge bool)

func (*Position) HeuristicTileDistance

func (p *Position) HeuristicTileDistance(b Position) int

func (*Position) IsWithinN

func (p *Position) IsWithinN(targetPosition *Position, n int) bool

func (*Position) IsZeros

func (p *Position) IsZeros() bool

func (*Position) Neighbors

func (p *Position) Neighbors() []Position

type Potion

type Potion int

func (Potion) ID

func (p Potion) ID() int

func (Potion) Type

func (p Potion) Type() ItemType

type Provision

type Provision int
const NoProvision Provision = -1

func (Provision) GetSpriteIndex

func (p Provision) GetSpriteIndex() indexes.SpriteIndex

func (Provision) ID

func (p Provision) ID() int

func (Provision) Type

func (p Provision) Type() ItemType

type QuestItem

type QuestItem int

func (QuestItem) ID

func (q QuestItem) ID() int

func (QuestItem) Type

func (q QuestItem) Type() ItemType

type Reagent

type Reagent int

func (Reagent) ID

func (r Reagent) ID() int

func (Reagent) Type

func (r Reagent) Type() ItemType

type Scroll

type Scroll int

func (Scroll) ID

func (s Scroll) ID() int

func (Scroll) Type

func (s Scroll) Type() ItemType

type Shard

type Shard int

func (Shard) ID

func (s Shard) ID() int

func (Shard) Type

func (s Shard) Type() ItemType

type SmallLocationReference

type SmallLocationReference struct {
	Location             Location
	FriendlyLocationName string
	EnteringText         string
	SmallMapType         SmallMapMasterTypes
	ListOfFloors         []FloorNumber
	// contains filtered or unexported fields
}

func NewSingleSmallMapReference

func NewSingleSmallMapReference(
	location Location,
	npcRefs *[]NPCReference,
	dataOvl *DataOvl) *SmallLocationReference

func (*SmallLocationReference) CanGoDownOneFloor

func (s *SmallLocationReference) CanGoDownOneFloor(currentFloor FloorNumber) bool

func (*SmallLocationReference) CanGoUpOneFloor

func (s *SmallLocationReference) CanGoUpOneFloor(currentFloor FloorNumber) bool

func (*SmallLocationReference) GetClosestLadder

func (s *SmallLocationReference) GetClosestLadder(npcCurrentPosition Position, nCurrentFloor FloorNumber, nTargetFloor FloorNumber) Position

func (*SmallLocationReference) GetEnteringText

func (s *SmallLocationReference) GetEnteringText() string

func (*SmallLocationReference) GetFloorMinMax

func (s *SmallLocationReference) GetFloorMinMax() (FloorNumber, FloorNumber)

func (*SmallLocationReference) GetMaxX

func (s *SmallLocationReference) GetMaxX() Coordinate

func (*SmallLocationReference) GetMaxY

func (s *SmallLocationReference) GetMaxY() Coordinate

func (*SmallLocationReference) GetNPCReferences

func (s *SmallLocationReference) GetNPCReferences() *[]NPCReference

func (*SmallLocationReference) GetNumberOfFloors

func (s *SmallLocationReference) GetNumberOfFloors() int

func (*SmallLocationReference) GetOuterTile

func (s *SmallLocationReference) GetOuterTile() indexes.SpriteIndex

func (*SmallLocationReference) GetTileNumber

func (s *SmallLocationReference) GetTileNumber(xy Position, nFloor FloorNumber) indexes.SpriteIndex

func (*SmallLocationReference) HasBasement

func (s *SmallLocationReference) HasBasement() bool

type SmallMapMasterTypes

type SmallMapMasterTypes int
const (
	Castle SmallMapMasterTypes = iota
	Towne
	Dwelling
	Keep
	Dungeon
	CutOrIntroScene
	None
)

type SpecialItem

type SpecialItem int

func (SpecialItem) ID

func (s SpecialItem) ID() int

func (SpecialItem) Type

func (s SpecialItem) Type() ItemType

type Spell

type Spell int
const (
	InLor         Spell = 0
	GravPor       Spell = 1
	AnZu          Spell = 2
	AnNox         Spell = 3
	Mani          Spell = 4
	AnYlem        Spell = 5
	AnSanct       Spell = 6
	AnXenCorp     Spell = 7
	RelHur        Spell = 8
	InWis         Spell = 9
	KalXen        Spell = 10
	InXenMani     Spell = 11
	VasLor        Spell = 12
	VasFlam       Spell = 13
	InFlamGrav    Spell = 14
	InNoxGrav     Spell = 15
	InZuGrav      Spell = 16
	InPor         Spell = 17
	AnGrav        Spell = 18
	InSanct       Spell = 19
	InSanctGrav   Spell = 20
	UusPor        Spell = 21
	DesPor        Spell = 22
	WisQuas       Spell = 23
	InBetXen      Spell = 24
	AnExPor       Spell = 25
	InExPor       Spell = 26
	VasMani       Spell = 27
	InZu          Spell = 28
	RelTym        Spell = 29
	InVasPorYlem  Spell = 30
	QuasAnWis     Spell = 31
	InAn          Spell = 32
	WisAnYlem     Spell = 33
	AnXenEx       Spell = 34
	RelXenBet     Spell = 35
	SanctLor      Spell = 36
	XenCorp       Spell = 37
	InQuasXen     Spell = 38
	InQuasWis     Spell = 39
	InNoxHur      Spell = 40
	InQuasCorp    Spell = 41
	InManiCorp    Spell = 42
	KalXenCorp    Spell = 43
	InVasGravCorp Spell = 44
	InFlamHur     Spell = 45
	VasRelPor     Spell = 46
	AnTym         Spell = 47
	Nox           Spell = 48
)

func (Spell) ID

func (s Spell) ID() int

func (Spell) Type

func (s Spell) Type() ItemType

type Tile

type Tile struct {
	Index                     indexes.SpriteIndex
	Name                      string `json:"Name"`
	Description               string `json:"Description"`
	IsWalkingPassable         bool   `json:"IsWalking_Passable"`
	RangeWeaponPassable       bool   `json:"RangeWeapon_Passable"`
	IsBoatPassable            bool   `json:"IsBoat_Passable"`
	IsSkiffPassable           bool   `json:"IsSkiff_Passable"`
	IsCarpetPassable          bool   `json:"IsCarpet_Passable"`
	IsHorsePassable           bool   `json:"IsHorse_Passable"`
	IsKlimable                bool   `json:"IsKlimable"`
	IsOpenable                bool   `json:"IsOpenable"`
	IsLandEnemyPassable       bool   `json:"IsLandEnemyPassable"`
	IsWaterEnemyPassable      bool   `json:"IsWaterEnemyPassable"`
	SpeedFactor               int    `json:"SpeedFactor"`
	IsPartOfAnimation         bool   `json:"IsPartOfAnimation"`
	TotalAnimationFrames      int    `json:"TotalAnimationFrames"`
	AnimationIndex            int    `json:"AnimationIndex"`
	IsUpright                 bool   `json:"IsUpright"`
	FlatTileSubstitutionIndex int    `json:"FlatTileSubstitutionIndex"`
	FlatTileSubstitutionName  string `json:"FlatTileSubstitutionName"`
	IsEnemy                   bool   `json:"IsEnemy"`
	IsNPC                     bool   `json:"IsNPC"`
	IsBuilding                bool   `json:"IsBuilding"`
	DontDraw                  bool   `json:"DontDraw"`
	IsPushable                bool   `json:"IsPushable"`
	IsTalkOverable            bool   `json:"IsTalkOverable"`
	IsBoardable               bool   `json:"IsBoardable"`
	IsGuessableFloor          bool   `json:"IsGuessableFloor"`
	BlocksLight               bool   `json:"BlocksLight"`
	IsWindow                  bool   `json:"IsWindow"`
	CombatMapIndex            string `json:"CombatMapIndex"`
}

func (*Tile) GetStairsFloorDirection

func (t *Tile) GetStairsFloorDirection() LadderOrStairType

func (*Tile) GetWalkableWeight

func (t *Tile) GetWalkableWeight() int

func (*Tile) IsCannon

func (t *Tile) IsCannon() bool

func (*Tile) IsChair

func (t *Tile) IsChair() bool

func (*Tile) IsPassable

func (t *Tile) IsPassable(vehicle PartyVehicle) bool

func (*Tile) IsPath

func (t *Tile) IsPath() bool

func (*Tile) IsWalkableDuringWander

func (t *Tile) IsWalkableDuringWander() bool

type Tiles

type Tiles map[indexes.SpriteIndex]*Tile

func NewTileReferences

func NewTileReferences() *Tiles

func (*Tiles) GetCannonByPushDirection

func (t *Tiles) GetCannonByPushDirection(direction Direction) *Tile

func (*Tiles) GetChairByPushDirection

func (t *Tiles) GetChairByPushDirection(direction Direction) *Tile

func (*Tiles) GetTile

func (t *Tiles) GetTile(tileNum indexes.SpriteIndex) *Tile

func (*Tiles) UnmarshalJSON

func (t *Tiles) UnmarshalJSON(data []byte) error

type World

type World int
const (
	OVERWORLD World = iota
	UNDERWORLD
)

type WorldLocation

type WorldLocation struct {
	Position Position
	Location Location
}

type WorldLocations

type WorldLocations struct {
	// contains filtered or unexported fields
}

func NewWorldLocations

func NewWorldLocations(gameConfig *config.UltimaVConfiguration) *WorldLocations

func (*WorldLocations) GetLocationByPosition

func (wl *WorldLocations) GetLocationByPosition(position Position) Location

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL