Code:
'****************************************************************
'* WHEN WHO WHAT
'* ---- --- ----
'* 07/12/2005 Shannara Trimmed module.
'****************************************************************
Option Explicit
Type PlayerInvRec
Num As Byte
Value As Long
Dur As Integer
End Type
Type PlayerRec
' General
Name As String * NAME_LENGTH
Class As Byte
Sprite As Integer
Level As Byte
Exp As Long
Access As Byte
PK As Byte
' Vitals
HP As Long
MP As Long
SP As Long
' Stats
STR As Byte
DEF As Byte
SPEED As Byte
MAGI As Byte
POINTS As Byte
' Worn equipment
ArmorSlot As Byte
WeaponSlot As Byte
HelmetSlot As Byte
ShieldSlot As Byte
' Inventory
Inv(1 To MAX_INV) As PlayerInvRec
Spell(1 To MAX_PLAYER_SPELLS) As Byte
' Position
Map As Integer
x As Byte
y As Byte
Dir As Byte
' Client use only
MaxHP As Long
MaxMP As Long
MaxSP As Long
XOffset As Integer
YOffset As Integer
Moving As Byte
Attacking As Byte
AttackTimer As Long
MapGetTimer As Long
CastedSpell As Byte
End Type
Type TileRec
Ground As Integer
Mask As Integer
Anim As Integer
Fringe As Integer
Type As Byte
Data1 As Integer
Data2 As Integer
Data3 As Integer
End Type
Type MapRec
Name As String * NAME_LENGTH
Revision As Long
Moral As Byte
Up As Integer
Down As Integer
Left As Integer
Right As Integer
Music As Byte
BootMap As Integer
BootX As Byte
BootY As Byte
Shop As Byte
Tile(0 To MAX_MAPX, 0 To MAX_MAPY) As TileRec
Npc(1 To MAX_MAP_NPCS) As Byte
End Type
Type ClassRec
Name As String * NAME_LENGTH
Sprite As Integer
STR As Byte
DEF As Byte
SPEED As Byte
MAGI As Byte
' For client use
HP As Long
MP As Long
SP As Long
End Type
Type ItemRec
Name As String * NAME_LENGTH
Pic As Integer
Type As Byte
Data1 As Integer
Data2 As Integer
Data3 As Integer
End Type
Type MapItemRec
Num As Byte
Value As Long
Dur As Integer
x As Byte
y As Byte
End Type
Type NpcRec
Name As String * NAME_LENGTH
AttackSay As String * 100
Sprite As Integer
SpawnSecs As Long
Behavior As Byte
Range As Byte
DropChance As Integer
DropItem As Byte
DropItemValue As Integer
STR As Byte
DEF As Byte
SPEED As Byte
MAGI As Byte
End Type
Type MapNpcRec
Num As Byte
Target As Byte
HP As Long
MP As Long
SP As Long
Map As Integer
x As Byte
y As Byte
Dir As Byte
' Client use only
XOffset As Integer
YOffset As Integer
Moving As Byte
Attacking As Byte
AttackTimer As Long
End Type
Type TradeItemRec
GiveItem As Long
GiveValue As Long
GetItem As Long
GetValue As Long
End Type
Type ShopRec
Name As String * NAME_LENGTH
JoinSay As String * 100
LeaveSay As String * 100
FixesItems As Byte
TradeItem(1 To MAX_TRADES) As TradeItemRec
End Type
Type SpellRec
Name As String * NAME_LENGTH
ClassReq As Byte
LevelReq As Byte
Type As Byte
Data1 As Integer
Data2 As Integer
Data3 As Integer
End Type
Type TempTileRec
DoorOpen As Byte
End Type