Rem File: Dndutil.inc Version v5.0a Release r2.0a Tweak t6.0a

DefInt A-Z
Rem $Dynamic

Rem $Include: 'const.inc'

Type RegTypeX
 AX As Integer
 BX As Integer
 CX As Integer
 DX As Integer
 BP As Integer
 SI As Integer
 DI As Integer
 Flags As Integer
 DS As Integer
 ES As Integer
End Type

Type AutomateType
 MonsterIndex As Single
 Deleted As Integer
 StartRoom As Single
 StopRoom As Single
 StartEvery As Double
 StartTime As Double
 StopTime As Double
 StopAfterMoves As Integer
 MoveEvery As Double
 MovesRandomly As Integer
 NumberMoves As Integer
 LastMoveTime As Double
 MessWorkIndex As Single
End Type

Type RoomType
 Action As Single
 Custom1 As String*12
 Custom2 As String*12
 Direct(1 To 14) As Single
 LongDesc(1 To 19) As Single
 MonClass As Single
 ShortDesc As String*80
 First As Single ' inventory
 Last As Single
 First2 As Single ' containers
 Last2 As Single
End Type

Type TreasureType
 TreasureName As String*30
 ShortName As String*30
 Weight As Integer
 Gold As Double
 Spell As Single
 Plus As Integer
 Coin As Integer
 Locked As Integer
 KeyNumber As Single
 Scroll As Integer
 Charges As Integer
 Potion As Integer
 Loadable As Integer
 Ammunition As Integer
 AmmoLoads As Single
 Invisible As Integer
 Permanent As Integer
 Proficiency As Integer
 WeaponNumber As Integer
 RingType As Integer
 RingSpell As Single
 Edible As Integer
 Rustable As Integer
 RustPercent As Integer
 Stealable As Integer
 StealPercent As Integer
 Launchable As Integer
 LaunchLoads As Single
 LaunchAmmo As Integer
 Movable As Integer
 Vehicle As Integer
 VehicleType As Integer
 LightType As Integer
 LightCharges As Integer
 FuelType As Integer
 FuelCharges As Integer
 Container As Integer
 ContainerMax As Integer
 ContainerPrefix As String*15
 ContainerDisappears As Single
 ContainerSize As Integer
 ContainerMaterial As Integer
 ContainerSelfImplodes As Integer
 PotionType As Single
 NewPotion As Single
 MixPotion As Integer
 TwoHanded As Integer
 RequireStr As Integer
 RequireDex As Integer
 RequireInt As Integer
 RestrictItem(1 To 3) As Single
 TrapType As Integer
 TrapHits As Integer
 TrapItem As Single
 MasterKey As Integer
 Liquid As Integer
 LiquidType As Integer
 LiquidFlags As Integer
 Prefix1 As String*8
 StaysInRoom As Integer
 Occupants As Integer
 BindType As Integer
 TimesCursed AS INTEGER
 TimesBlessed AS INTEGER
 Persistent AS INTEGER
 MaxPersistCharges AS INTEGER
 PersistTime AS SINGLE
 DischargePersist AS SINGLE
 ProperName As STring*20
End Type

Type WeaponType
 Index As Single
 Charges As Integer
 Plus As Integer
End Type

Type WeaponType2
 Index As Single
 Charges As Integer
 Plus As Integer
 Time1 As Single
 Time2 As Single
End Type

Type UserType
 CodeName As String*30
 PassWord As String*20
 PassWord2 As String*20
 Question As String*80
 Answer As String*20
 PassWord3 As String*20
 ClassName As String*20
 ClassType As Integer
 Stats(1 To 7) As Integer
 Weapon(1 To 10) As WeaponType
 Weapons(1 To 4) As Integer
 Room As Single
 Level As Integer
 Experience As Double
 Gold As Double
 NumCalls As Integer
 Fatigue As Integer
 FatigueMax As Integer
 Vitality As Integer
 VitalityMax As Integer
 Magic As Integer
 MagicMax As Integer
 Poison As Integer
 Borrow As Double
 Invisible As Integer
 Race As Integer
 Proficiency As Integer
 Bank As Double
 PlayersKilled As Double
 MonstersKilled As Double
 Permanentkilled AS DOUBLE
 Brief As Integer
 DateOn As String*10
 Sysnews As String*10
 Beauty As Integer
 Glamour As Integer
 Psionic As Integer
 PsionicMax As Integer
 Align1 As Integer
 Align2 As Integer
 Flags As Integer
 Flags2 As Integer
 MaxCalls As Integer
 FromHour As Integer
 FromMin As Integer
 ToHour As Integer
 ToMin As Integer
 SortInv As Integer
 TimeUsed As Single
 TimeLimit As Single
 Hidden As Integer
 Encumbrance As Integer
 TimesLogon As Double
 TimesDied As Double
 Prefix1 As String*8
 Prefix2 As String*8
 First As Single
 Last As Single
 First2 As Single
 Last2 As Single
 NodeList As String*127
 NodeList2 As Single
 EditList As Single
 StatusVar As Integer
 Prefix3 As String*8
 ShortcutKey1(1 To 8) As String*8
 ShortcutKey2(1 To 8) As String*32
 FunctionKeys(1 To 10) As String*20
 StatusLineString As String*80
 ActionLineString As String*80
 ObjectsCreated(1 To 10) As Double
 WishsLeft As Integer
 Block1 As Integer
 Block2 As Integer
 Buffer22 As Single
 Buffer23 As Single
 Buffer24 As Double
 Buffer25 As Double
End Type

Type MonsterType
 MonsterName As String*30
 PluralName As String*30
 Experience As Double
 Gold As Double
 NumberAppearing As Integer
 Level As Integer
 Hits As Integer
 Poison As Integer
 LevelDrain As Integer
 Spell As Single
 Block As Integer
 Prevent As Integer
 Follow As Integer
 Magic As Integer
 Jail As Integer
 TeleportPercent As Integer
 FollowPercent As Integer
 BlockPercent As Integer
 PreventPercent As Integer
 SpellPercent As Integer
 PoisonPercent As Integer
 DrainPercent As Integer
 Rate As Integer
 RatePercent As Integer
 Permanent As Integer
 Talk(1 To 5) As Integer
 Psionic As Integer
 PsionicSpell As Single
 Equation As Integer
 MonsterEquate As String*40
 MonsterSurprise As String*40
 MonsterSavingThrow As String*40
 Prefix1 As String*8
 First As Single
 Last As Single
 Weapon AS Single
 Shield As Single
 Armor As Single
 PerMonster As Integer
 TalkGold As Double
 TalkGoldTimes As Integer
 TalkGoldPercent As Integer
 TalkItem As Single
 TalkItemTimes As Integer
 TalkItemPercent As Integer
 TalkMoveDirection As Integer
 Invisible AS INTEGER
 RemainsInRoom AS INTEGER
 Buffer15 AS SINGLE
 Buffer16 AS SINGLE
End Type

Rem Online player node information.
Type MessType1
 ActiveNode As Integer
 MachineName As String*16
 SuspendNode As Integer
 PortNumber As Integer
 ClassName As String*20
 ClassType As Integer
 Invisible As Integer
 Hidden As Integer
 LastCommand As String*15
 Level As Integer
 RoomNumber As Single
 Score1 As Double
 Score2 As Double
 Score3 As Double
 TimeOn As String*8
 UserIndex As Single
 UserName As String*30
 OfferTime As Single
 FromNode As Integer
 ToNode As Integer
 GoldOffer As Double
 ItemOffer As Single
 OfferCharges As Integer
 GoldFor As Double
 ItemFor As Single
 ForCharges As Integer
 ContainerOffer As Integer
 ContainerFor As Integer
 SendFlags As String*127
 ReceiveFlags As String*127
 Monitor As Integer
 Chatting As Integer
 Gold As Double
 Exp As Double
 LastMonster As Single
 LastUser As Single
 Fatigue As Integer
 Vitality As Integer
End Type

Rem Node messaging structure.
Type MessType2
 Message As String*80
 Message2 As String*30
 Message3 As Single
 Message4 As Single
 MessageType As Integer
 MessageTime As Single
 Node As Integer
 UserName As String*30
 UserIndex As Single
 RoomNumber As Single
 Flags As String*127
End Type

Rem Monsters in room.
Type MessType3
 Monster As MonsterType
 Weapon(1 To 3) As WeaponType2
 Index As Single
 Room As Single
 AutoMode As Integer
 IsAutomaton As Integer
End Type

Rem Offline players in room.
Type MessType4
 Index As Single
 Room As Single
 Hits As Double
 Exp As Double
 Align1 As Integer
 Align2 As Integer
 Time1 As Single
End Type

Rem Monster inventory.
Type MessType5
 Index As Single
 Inv As Single
 Charges As Integer
 Room As Single
 Monster As Single
 IsAutomaton As Integer
End Type

Rem Generic inventory structure.
Type MessType6
 Index As Single
 User As Single
 Charges As Integer
 Plus As Integer
 Room As Single
 Prev As Single
 Next As Single
 Temp(1 To 4) As Single
 Desc(1 To 4) As Single
 Time1 As Single
 Time2 As Single
End Type

Type TeamMenuType
 Deleted As Integer
 Name As String*30
 Pass As String*20
 Gold As Double
 Member(1 To 5) As String*30
 UserIndex(1 To 5) As Single
 Prefix1 As String*8
 First As Single
 Last As Single
 First2 As Single
 Last2 As Single
 Activated(1 To 5) As Integer
End Type

Common Shared _
 Action.Recurse As Integer,_
 Action.FileName As String,_
 Action.Number As Single,_
 Action.Prompt As String,_
 ActionRecLen As Integer,_
 Alignment.Name1() As String*7,_
 Alignment.Name2() As String*7,_
 Allow.Break As Integer,_
 Allow.High.Class As Integer,_
 Allow.Remote.Edit As Integer,_
 Auto.Break As Integer,_
 Auto.Mode As Integer,_
 Auto.Pickup As Integer,_
 Avatar.Code As Integer,_
 AutomateRecLen As Integer,_
 AutomateRecord As AutomateType,_
 AutomateArray() As AutomateType,_
 Bank.FileName As String,_
 Bank.Log.FileName As String,_
 BankRecLen As Integer,_
 Blank.Menu As Integer,_
 Blank.Screen As Integer,_
 Break As Integer,_
 Brief.Messages As Integer,_
 Buffer As String,_
 BufferRecLen As Integer,_
 Bypass.CodeName As String,_
 Bypass.Login As Integer,_
 Bypass.Screen As Integer,_
 Bypass.Splash As Integer,_
 Byte As String*1,_
 BBS.Mode As Integer,_
 BBS.Name As String,_
 Carriage.Input As Integer,_
 Carriage.Return As Integer,_
 Catalog.FileName As String,_
 Chained As Integer,_
 Chained2 As Integer,_
 Chat As Integer,_
 Chat.Annoy As Integer,_
 Chat.Flag As Integer,_
 Chat.Mode As Integer,_
 Choice As Single,_
 Class.Name() As String*15,_
 Clock.On As String*21,_
 CodeName.Temp As String,_
 Color.Code As Integer,_
 Column As Integer,_
 Command.Time.Limit As Integer,_
 Container.Filename As String,_
 Container.Index As Single,_
 Container.Number As Single,_
 ContainerRecLen As Integer,_
 Continuous As Integer,_
 Count As Integer,_
 CtnInv.FileName As String,_
 Cursor.Position As Integer,_
 CursorX As Integer,_
 CursorY As Integer,_
 Current.Avatar.Background As Integer,_
 Current.Avatar.Foreground As Integer,_
 Data.Error As Integer,_
 Data.Path1 As String,_
 Data.Path2 As String,_
 Data.Path3 As String,_
 Data.Path4 As String,_
 Date.On As String*10,_
 Day.File.FileName As String,_
 Day.Log.FileName As String,_
 DayFileRecLen As Integer,_
 Debug.Mode As Integer,_
 Debug.Pack As Integer,_
 Direction() As String*9,_
 Disable.Play As Integer,_
 Disable.Break As Integer,_
 Disable.DM As Integer,_
 Disable.Nodes As Integer,_
 Disable.ANSI As Integer,_
 Disable.Avatar As Integer,_
 Disable.Share As Integer,_
 Disable.Sysop As Integer,_
 Disk.Log As Integer,_
 Disk.Space As Double,_
 DMhelp.Filename As String,_
 DND.Path As String,_
 Door.Node As String*2,_
 Door.Name As String,_
 Door.Time As Single,_
 DOS.Exit As String,_
 DOS.Major As Integer,_
 DOS.Minor As Integer,_
 Drive.Override As Integer,_
 Dungeon.Master As Integer,_
 Dungeon.Master.Assistant As Integer,_
 Echo As Integer,_
 Equate.Debug As Integer,_
 Email.Number As Single,_
 Entry.Command As Integer,_
 Extended.ANSI As Integer,_
 File.Extension1 As String,_
 File.Extension2 As String,_
 FileName As String,_
 Follow.Mode As Integer,_
 Following As Single,_
 Fossil.Active As Integer,_
 Fossil.Version As Integer,_
 Func.Buffer As String,_
 Governor As Integer,_
 Graphics.On As Integer,_
 Graphics.Off As Integer,_
 Graphics.Status As Integer,_
 Guild.Master As Integer,_
 GuestLogin As Integer,_
 Help.FileName1 As String,_
 Help.Filename2 As String,_
 Help.Filename3 As String,_
 Help.Filename4 As String,_
 HelpRecLen1 As Integer,_
 HelpRecLen2 As Integer,_
 HelpRecLen3 As Integer,_
 HelpRecLen4 As Integer,_
 Hidden.Player As Integer,_
 Hidden As Integer,_
 High.Class.Name() As String*15,_
 Hint.FileName As String,_
 Inline.FileName1 As String,_
 Inline.FileName2 As String,_
 InregsX As RegTypeX,_
 Inserting As Integer,_
 InterestRate1 As Single,_
 InterestRate2 As Single,_
 InterestRate3 As Single,_
 Intoxicated As Integer,_
 InventoryNames() As String*8,_
 Invisible As Integer,_
 Ignore.Vehicle As Integer,_
 Last.Command As String,_
 Last.Command.Number As Integer,_
 Last.Module.Number As Integer,_
 Last.Monster As String,_
 Last.Monster.Temp As Integer,_
 LastUser.FileName As String,_
 LearnedSpells As String,_
 Line.Length As Integer,_
 Line.Limit As Integer,_
 Line.Number As Integer,_
 Lines.Scrolled As Integer,_
 Local.ANSI.Color As Integer,_
 Local.Avatar.Color As Integer,_
 Local.Mode As Integer,_
 Log.Extension As String,_
 Log.FileName As String,_
 Logged.In As Integer,_
 Logged.Node As Integer,_
 Logoff.FileName As String,_
 Logoff.Help.FileName As String,_
 Logon.Help.FileName As String,_
 LogRecLen As Integer,_
 Loop.Flag As Integer,_
 Loops.Counted As Integer,_
 Lost.Carrier As Integer,_
 Low.Mem.Use As Integer,_
 Magic.Spell As Integer,_
 Max.Lines As Integer,_
 Max.Row As Integer,_
 MaxRow.OverRide As Integer,_
 Menu1() As String*25,_
 Menu2() As Integer,_
 Message.Base As String,_
 Message.Base.Filename As String,_
 Message.Base.Name As String,_
 Message.Base.Number As Single,_
 Message.Length As Integer,_
 Message.Name As String,_
 Message.Number As Integer,_
 Message.Reply As Integer,_
 Message.Stat As String,_
 Message.Thread As Single,_
 Message.To As String,_
 Message1 As String,_
 MessageRecLen As Integer,_
 MessBaseRecLen As Integer,_
 MessWork.Filename As String,_
 MessWorkRecLen1 As Integer,_
 MessWorkRecLen2 As Integer,_
 MessWorkRecLen3 As Integer,_
 MessWorkRecLen4 As Integer,_
 MessWorkRecLen5 As Integer,_
 MessWorkRecLen6 As Integer,_
 MessWorkRecLen7 As Integer,_
 MessWorkRecord1 As MessType1,_
 MessWorkRecord2 As MessType2,_
 MessWorkRecord3 As MessType3,_
 MessWorkRecord4 As MessType4,_
 MessWorkRecord5 As MessType5,_
 MessWorkRecord6 As MessType6,_
 Modem.Baud As Single,_
 Modem.Return As String,_
 Modem.Allow() As Integer,_
 Modem.Connect() As Single,_
 Modem.String() As String*20,_
 MonClass.FileName As String,_
 MonClass.Max As Single,_
 MonClass.Number As Single,_
 MonClassRecLen As Integer,_
 Monitor.Mode As Integer,_
 Monster.Class() As Single,_
 Monster.Attacked As Single,_
 Monster.Cycle As Integer,_
 Monster.FileName As String,_
 Monster.Number As Single,_
 Monster.Percent() As Integer,_
 Monster.Rate() As Integer,_
 Monster.Rate1 As Integer,_
 Monster.Rate2 As Integer,_
 Monster.Temp As Single,_
 MonsterRecLen As Integer,_
 MonsterRecord As MonsterType,_
 Monsters.Killed As Double,_
 MonInv.FileName As String,_
 MonTalk.FileName As String,_
 MonTalkRecLen As Integer,_
 Mouse.Button As Integer,_
 Mouse.Button2 As Integer,_
 Mouse.Button3 As Integer,_
 Mouse.Column As Integer,_
 Mouse.Present As Integer,_
 Mouse.Row As Integer,_
 Mouse.X As Integer,_
 Mouse.Y As Integer,_
 Multiplier As Integer,_
 Multiplier2 As Integer,_
 New.Room As Integer,_
 NewMessRecLen As Integer,_
 Next.Field As Integer,_
 Next.Room As Single,_
 No As Integer,_
 No.Echo As Integer,_
 No.Input As Integer,_
 No.Input.Echo As Integer,_
 No.Input.Out As String,_
 NodeX As String,_
 Node.Abort As Integer,_
 Node.Work.Array1() As String*80,_
 Node.Work.Array2() As Integer,_
 NonPlayer.FileName As String,_
 NonPlayer.Max As Single,_
 NonPlayer.Number As Single,_
 NonPlayer.Rooms() As String*30,_
 NonPlayerRecLen As Integer,_
 Normal.User As Integer,_
 Notice.FileName As String,_
 Number.Appearing As Integer,_
 Numeral() As String*5,_
 Object.FileName As String,_
 Object.Index As Single,_
 Object.Number As Single,_
 ObjectRecLen As Integer,_
 OS2.Detected As Integer,_
 Out2 As String,_
 Out3 As String,_
 Out4 As String,_
 Out5 As String,_
 Out6 As String,_
 Out7 As String,_
 Out8 As String,_
 Out9 As String,_
 OutregsX As RegTypeX,_
 OutZ As String,_
 Params As Integer,_
 Parse.Temp As Integer,_
 Parse.Temp2 As Integer,_
 Parsed.Command1 As String,_
 Parsed.Command2 As String,_
 Parser As Integer,_
 Pass.Door As Integer,_
 PassWord.Temp As String,_
 PassWord.Temp2 As String,_
 Permanent.Killed As Double,_
 Players.Killed As Double,_
 Port As Integer,_
 Port.Override As Integer,_
 Prefix1 As String,_
 Prefix2 As String,_
 Prelog.FileName As String,_
 Previous.Command As Integer,_
 Previous.Command1 As String,_
 Previous.Command2 As String,_
 Previous.Command3 As String,_
 Previous.Type1 As Integer,_
 Previous.Type2 As Integer,_
 Print.Log As Integer,_
 Private.Filename As String,_
 Private.Message As Integer,_
 Psi.Attack.Mode As Integer,_
 Psi.Defense.Mode As Integer,_
 Public.Filename As String,_
 Quit As Integer,_
 Race() As String*8,_
 Relogging As Integer,_
 Remote As Integer,_
 Remote.ANSI.Color As Integer,_
 Remote.Avatar.Color As Integer,_
 Room As Single,_
 Room.Action As Single,_
 Room.Array() As String*40,_
 Room.Containers As Single,_
 Room.Desc.Filename As String,_
 Room.FileName As String,_
 Room.Health.Rate As Integer,_
 Room.Index As Single,_
 Room.Link As Single,_
 Room.MonClass As Single,_
 Room.Monster.Rate As Integer,_
 Room.Number As Single,_
 Room.Objects As Single,_
 Room.Rate As Integer,_
 Room.Rust.Rate As Integer,_
 Room.Steal.Rate As Integer,_
 Room.Toggle As Integer,_
 Room.Treasure As Single,_
 RoomInv.FileName As String,_
 RoomDescLen As Integer,_
 RoomRecLen As Integer,_
 RoomRecord As RoomType,_
 Row As Integer,_
 Run.Number As Double,_
 Rust.Rate As Integer,_
 Security.Guard As Integer,_
 Selection As Integer,_
 Share.Installed As Integer,_
 Shelled As Integer,_
 Shell.Type As Integer,_
 Shell.Type2 As Integer,_
 Shortcut.Key1() As String*8,_
 Shortcut.Key2() As String*32,_
 Sort.Array1() As String*32,_
 Sort.Array2() As Integer,_
 Sorting As Integer,_
 Special.Names As Integer,_
 Spell.FileName As String,_
 Spell.Number As Single,_
 SpellRecLen As Integer,_
 Stat() As String*12,_
 Start.Loop As Integer,_
 Statusline.Mode As Integer,_
 Statusline.Line As Integer,_
 Statusline.String As String,_
 Steal.Rate As Integer,_
 Stored.Parsed.Command1 As String,_
 Stored.Parsed.Command2 As String,_
 Strng As String,_
 Strng1 As String,_
 Strng2 As String,_
 Strng3 As String,_
 Subject As String,_
 Summary.FileName As String,_
 Supported.Call As Integer,_
 Suspend.Node As Integer,_
 Sysop As Integer,_
 TableRecLen As Integer,_
 Team.Containers As Single,_
 Team.Index As Single,_
 Team.Objects As Single,_
 Team.Treasure As Single,_
 Team.FileName As String,_
 Team.Items As Single,_
 Team.Number As Single,_
 Team.Player As Integer,_
 TeamInv.FileName As String,_
 TeamInv.Index As Single,_
 TeamInv.Number As Single,_
 TeamRecLen As Integer,_
 TeamRecord As TeamMenuType,_
 Teleported As Integer,_
 Temp, Temp!, Temp$,_
 Temp.Array1() As Integer,_
 Temp.Array2() As Integer,_
 Temp.Array3() As Single,_
 Temp.Array4() As Single,_
 Temp.ArrayS() As String,_
 Temp.ArrayX() As Single,_
 Temp.ArrayY() As Long,_
 Temp.ArrayZ() As Double,_
 Temp.Command As String,_
 Temp.Index As Single,_
 Temp.Time As Single,_
 Temp.User.Index As Single,_
 Temp0, Temp1, Temp2, Temp3,_
 Temp4, Temp5, Temp6, Temp7,_
 Temp8, Temp9, TempA$, TempA,_
 TempB$, TempB, TempC$, TempC,_
 TempD$, TempD, TempX$, TempX,_
 Temp0!, Temp1!, Temp2!, Temp3!,_
 Temp4!, Temp5!, Temp6!, Temp7!,_
 Temp8!, Temp9!, TempA!,_
 TempB!, TempC!,_
 TempD!, TempX!,_
 Time.Left As Single,_
 Time.On As String,_
 Time.Override As Integer,_
 Timeon As Single,_
 Timeout As Single,_
 Token As Integer,_
 Token.Index As Integer,_
 Town.Mayor As Integer,_
 Training.Stats() As Integer,_
 Treasure.Filename As String,_
 Treasure.Index As Single,_
 Treasure.Number As Single,_
 TreasureRecLen As Integer,_
 TreasureRecord As TreasureType,_
 Two.Minutes.Left As Integer,_
 Type.Ahead As String,_
 Type.Error As Integer,_
 Upper.Case As Integer,_
 Usage.FileName As String,_
 User.Attacked As Single,_
 User.Command As String,_
 User.Containers As Integer,_
 User.Echo As Integer,_
 User.FileName As String,_
 User.Index As Single,_
 User.Linefeeds As Integer,_
 User.Linelength As Integer,_
 User.Node As Integer,_
 User.Number As Single,_
 User.Object As Integer,_
 User.Online As Integer,_
 User.Pagelength As Integer,_
 User.Temp As Single,_
 User.Treasure As Integer,_
 User.Wordwrap As Integer,_
 UserCommandLen As Integer,_
 UserConfigLen As Integer,_
 UserInv.FileName As String,_
 UserRecLen As Integer,_
 UserRecord As UserType,_
 UserRecord2 As UserType,_
 Vehicle1 As Single,_
 Vehicle2 As Integer,_
 Vehicle3 As Single,_
 Vehicle4 As Integer,_
 Video.Page As Integer,_
 Wait.Mode As Integer,_
 Weapon.Type.Name() As String*9,_
 Weight As Double,_
 Welcome.FileName As String,_
 Win.Major As Integer,_
 Win.Minor As Integer,_
 Windows.Detected As Integer,_
 Word.Wrap As Integer,_
 Xcoor As Integer,_
 Ycoor As Integer,_
 Yes As Integer

 ' additional shared variables
 Common Shared IO.Upper.Case As Integer
 Common Shared Zbuffer As Integer, Zbuffer2 As Integer, Zbuffer3 As Integer

 Common Shared Buffer1 As String*80
 Common Shared Quiet.Mode As Integer
 Common Shared PrinterPort As String

 Const MaxAlignment=3
 Const MaxArraySize=10
 Const MaxClasses=8
 Const MaxClassNames=10
 Const MaxCommands=3
 Const MaxConfigArray1=40
 Const MaxConfigArray2=150
 Const MaxConfigArray3=100
 Const MaxContainer=10
 Const MaxDirections=12
 Const MaxDMcommands=20
 Const MaxDMClasses=3
 Const MaxIngredients=5
 Const MaxItems=10
 Const MaxKeyDigits=6
 Const MaxLetters=26
 Const MaxMenus=10
 Const MaxMenuChoices=2
 Const MaxMonClass=10
 Const MaxModemBauds=30
 Const MaxMonInventory=5
 Const MaxMonTalk=5
 Const MaxNodes=126
 Const MaxNodeCommands=16
 Const MaxNumerals=10
 Const MaxOccupants=4
 Const MaxProfiles=151
 Const MaxRaces=8
 Const MaxRoomArrays=20
 Const MaxRoomInventory=20
 Const MaxRoomObjects=20
 Const MaxShortcutKeys=8
 Const MaxStats=7
 Const MaxStrips=50
 Const MaxSysopCommands=15
 Const MaxTemplate=704
 Const MaxTimes=4
 Const MaxUserCommands=155
 Const MaxUserInventory=15
 Const MaxUserObjects=5
 Const MaxTeamInv=12
 Const MaxTeamMembers=5
 Const MaxTrainStats=4
 Const MaxWeapons=4

 Const BankFee=3
 Const Dead$="<dead>"
 Const Deleted$="<deleted>"
 Const Enter$="<enter>"
 Const More$="More(y/n/c/q)? "
 Const Mask$="#"
 Const MaxErrors=32
 Const MaxInt=32767
 Const MinInt=-32768
 Const None$="<null>"
 Const Offline$="<offline>"
 Const PrimeKey=29
 Const ProgramName$="DNDBBS"
 Const Quote$="'"
 Const Range$="<range error>"
 Const Release$="2.0a"
 Const RunMode$="gamma"
 Const Tweak$="6.0a"
 Const Version$="5.0a"
 Const YearRelease$="2025"

 Const UserFile=1
 Const NonPlayerFile=2
 Const RoomFile=3
 Const ObjectFile=4
 Const MonsterFile=5
 Const TreasureFile=6
 Const MonTalkFile=7
 Const MessBaseFile=8
 Const MonClassFile=9
 Const SpellFile=10
 Const ActionFile=11
 Const MessageFile=12
 Const NewFile=13
 Const TableFile=14
 Const ContainerFile=15
 Const MessWorkFile1=16
 Const MessWorkFile2=17
 Const MessWorkFile3=18
 Const MessWorkFile4=19
 Const MessWorkFile5=20
 Const MessWorkFile6=21
 Const MessWorkFile7=22
 Const MessWorkFile8=23
 Const MessWorkFile9=24
 Const LogFile=25
 Const DayFile1=26
 Const TempFile1=27
 Const TempFile2=28
 Const HelpFile1=29
 Const HelpFile2=30
 Const HelpFile3=31
 Const HelpFile4=31
 Const TeamFile=32
 Const UserFile2=33
 Const SicFile=34
 Const DiskFile=35
 Const PrintFile=36
 Const UserInvFile=37
 Const CtnInvFile=38
 Const TeamInvFile=39
 Const RoomInvFile=40
 Const MonInvFile=41
 Const RoomDescFile=42
 Const BankFile=43
 Const AutomateFile=44

 Declare Sub InterruptX(N As Integer,I As RegTypeX,O As RegTypeX)

 Declare Function BreakIS()
 Declare Function DateS$()
 Declare Function FClock$()
 Declare Function Form$(X#)
 Declare Function KeyIS()
 Declare Function KeyboardChar$()
 Declare Function KeyboardLine$()
 Declare Function Timeit!()
 Declare Function Time.Elapsed(T1!,T2!)
 Declare Function YN$(I%)

rem -end-
