├── .gitignore
├── Branches
├── Dev
│ ├── Behaviors
│ │ ├── Testcases
│ │ │ └── obj_BeltRunner.iss
│ │ ├── obj_Courier.iss
│ │ ├── obj_Freighter.iss
│ │ ├── obj_Miner.iss
│ │ ├── obj_MinerHauler.iss
│ │ ├── obj_Missioneer.iss
│ │ ├── obj_Ratter.iss
│ │ ├── obj_Scavenger.iss
│ │ └── obj_StealthHauler.iss
│ ├── Data
│ │ ├── EVEDB_Items.sql
│ │ ├── EVEDB_Items.xml
│ │ ├── EVEDB_Items_As_Attributes.sql
│ │ ├── EVEDB_Spawns.xml
│ │ ├── EVEDB_StationID.xml
│ │ ├── EVEDB_Stations.xml
│ │ └── Mission Database.xml
│ ├── Docs
│ │ ├── changelog.html
│ │ ├── changelog.txt
│ │ └── svn2html.css
│ ├── EVEBot.iss
│ ├── Threads
│ │ ├── Defense.iss
│ │ ├── EVEDatabase.iss
│ │ ├── Navigator.iss
│ │ ├── NonCombat.iss
│ │ ├── Offense.iss
│ │ └── Targeting.iss
│ ├── config
│ │ └── Examples
│ │ │ ├── Launcher_Example.xml
│ │ │ ├── Sample User Agents.xml
│ │ │ ├── Sample User Market.xml
│ │ │ └── Sample User Mission Blacklist.xml
│ ├── core
│ │ ├── Lib
│ │ │ ├── UplinkManager
│ │ │ │ └── obj_UplinkManager.iss
│ │ │ ├── obj_BaseClass.iss
│ │ │ ├── obj_LSGUI.iss
│ │ │ ├── obj_Mutex.iss
│ │ │ ├── obj_Sound.iss
│ │ │ └── obj_Vector.iss
│ │ ├── defines.iss
│ │ ├── obj_Agents.iss
│ │ ├── obj_Assets.iss
│ │ ├── obj_Asteroids.iss
│ │ ├── obj_Autopilot.iss
│ │ ├── obj_BeltBookmarks.iss
│ │ ├── obj_Belts.iss
│ │ ├── obj_Bookmark.iss
│ │ ├── obj_Callback.iss
│ │ ├── obj_Cargo.iss
│ │ ├── obj_Configuration.iss
│ │ ├── obj_Drones.iss
│ │ ├── obj_EVEBot.iss
│ │ ├── obj_EVEBotUI.iss
│ │ ├── obj_EVEDB.iss
│ │ ├── obj_EntityCache.iss
│ │ ├── obj_Fleet.iss
│ │ ├── obj_FleetManager.iss
│ │ ├── obj_IRC.iss
│ │ ├── obj_JetCan.iss
│ │ ├── obj_Logger.iss
│ │ ├── obj_Market.iss
│ │ ├── obj_MissionCombat.iss
│ │ ├── obj_MissionCombatConfig.iss
│ │ ├── obj_MissionCommands.iss
│ │ ├── obj_MissionParser.iss
│ │ ├── obj_Missions.iss
│ │ ├── obj_Safespots.iss
│ │ ├── obj_Ship.iss
│ │ ├── obj_Skills.iss
│ │ ├── obj_Social.iss
│ │ ├── obj_Station.iss
│ │ ├── obj_Targets.iss
│ │ └── obj_TempBookmarks.iss
│ ├── interface
│ │ ├── EVEBot.xml
│ │ ├── EVESkin.xml
│ │ └── Images
│ │ │ ├── EVESkin.png
│ │ │ ├── checkboxtexture.png
│ │ │ ├── checkboxtexturechecked.png
│ │ │ ├── checkboxtexturecheckedhover.png
│ │ │ ├── checkboxtexturehover.png
│ │ │ └── checkboxtexturepressed.png
│ └── sounds
│ │ ├── alarm.wav
│ │ ├── death.wav
│ │ ├── detect.wav
│ │ ├── level.wav
│ │ ├── taps.wav
│ │ ├── tell.wav
│ │ └── warning.wav
└── Stable
│ ├── Behaviors
│ ├── obj_AnomRatter.iss
│ ├── obj_Courier.iss
│ ├── obj_Freighter.iss
│ ├── obj_Guardian.iss
│ ├── obj_Hauler.iss
│ ├── obj_Miner.iss
│ ├── obj_Missioneer.iss
│ ├── obj_Orca.iss
│ ├── obj_Ratter.iss
│ ├── obj_Scavenger.iss
│ └── obj_StealthHauler.iss
│ ├── Data
│ ├── EVEDB_Items.sql
│ ├── EVEDB_Items.xml
│ ├── EVEDB_Items_As_Attributes.sql
│ ├── EVEDB_Spawns.xml
│ ├── EVEDB_StationID.xml
│ ├── EVEDB_Stations.xml
│ └── Mission Database.xml
│ ├── Docs
│ ├── changelog.html
│ ├── changelog.txt
│ └── svn2html.css
│ ├── EVEBot.iss
│ ├── Launcher.iss
│ ├── Lib
│ ├── UplinkManager
│ │ └── obj_UplinkManager.iss
│ ├── obj_BaseClass.iss
│ ├── obj_LSGUI.iss
│ ├── obj_Mutex.iss
│ └── obj_Vector.iss
│ ├── Threads
│ ├── Defense_Drone.iss
│ └── Navigator.iss
│ ├── config
│ ├── EVEDB_Items.xml
│ ├── EVEDB_Stations.xml
│ ├── Launcher_example.xml
│ └── Sample User Agents.xml
│ ├── core
│ ├── defines.iss
│ ├── obj_Agents.iss
│ ├── obj_Ammospots.iss
│ ├── obj_Assets.iss
│ ├── obj_Asteroids.iss
│ ├── obj_Autopilot.iss
│ ├── obj_Belts.iss
│ ├── obj_Bookmarks.iss
│ ├── obj_Cargo.iss
│ ├── obj_Combat.iss
│ ├── obj_Compress.iss
│ ├── obj_Configuration.iss
│ ├── obj_Drones.iss
│ ├── obj_EVEBot.iss
│ ├── obj_EVEBotUI.iss
│ ├── obj_Fleet.iss
│ ├── obj_IRC.iss
│ ├── obj_Inventory.iss
│ ├── obj_Items.iss
│ ├── obj_JetCan.iss
│ ├── obj_Logger.iss
│ ├── obj_Market.iss
│ ├── obj_MissionParser.iss
│ ├── obj_Missions.iss
│ ├── obj_Safespots.iss
│ ├── obj_Ship.iss
│ ├── obj_Skills.iss
│ ├── obj_Social.iss
│ ├── obj_Sound.iss
│ ├── obj_Station.iss
│ └── obj_Targets.iss
│ ├── interface
│ ├── EVEBot.xml
│ └── eveskin
│ │ ├── MainGUI
│ │ ├── Button-Up.png
│ │ ├── CheckBox.png
│ │ ├── ComboBox.png
│ │ ├── Unused
│ │ │ ├── MainWindow-Bottom.png
│ │ │ ├── MainWindow-TopTitleBar.png
│ │ │ ├── button_about.png
│ │ │ ├── button_combat.png
│ │ │ ├── button_fitting.png
│ │ │ ├── button_main.png
│ │ │ ├── button_market.png
│ │ │ ├── button_mining.png
│ │ │ ├── button_options.png
│ │ │ └── button_skills.png
│ │ ├── button_close.png
│ │ ├── button_empty.png
│ │ ├── button_empty_highlight.png
│ │ ├── button_empty_selected.png
│ │ ├── button_fill.png
│ │ ├── button_left.png
│ │ ├── button_left_long.png
│ │ ├── button_minimize.png
│ │ ├── button_pause.png
│ │ ├── button_plus.png
│ │ ├── button_right.png
│ │ ├── button_right_long.png
│ │ ├── button_run.png
│ │ ├── optionswindow_main.png
│ │ ├── optionswindow_titlebar.png
│ │ └── tab_frametexture.png
│ │ ├── eveskin.xml
│ │ └── ui_sample.png
│ └── sounds
│ ├── alarm.wav
│ ├── death.wav
│ ├── detect.wav
│ ├── level.wav
│ ├── taps.wav
│ ├── tell.wav
│ └── warning.wav
├── Config
└── Config_Templates
│ └── Launcher.xml
├── EVEBot.code-workspace
├── EVEBot.iss
├── EVECallback.iss
├── EVEWatcher.iss
├── External
├── EVEAbandon
│ ├── EveAbandon.iss
│ └── EveAbandon.xml
├── EVEBots_dotNET
│ ├── C# stuff
│ │ ├── EveBots.sln
│ │ └── EveBots
│ │ │ ├── BotControl.Designer.cs
│ │ │ ├── BotControl.cs
│ │ │ ├── BotControl.resx
│ │ │ ├── ClientsWindow.Designer.cs
│ │ │ ├── ClientsWindow.cs
│ │ │ ├── ClientsWindow.resx
│ │ │ ├── EVEWatcher.cs
│ │ │ ├── EveBots.csproj
│ │ │ ├── ISBoxerSettings.cs
│ │ │ ├── LauncherProfiles.cs
│ │ │ ├── MainInterface.Designer.cs
│ │ │ ├── MainInterface.cs
│ │ │ ├── MainInterface.resx
│ │ │ ├── ProfileControl.Designer.cs
│ │ │ ├── ProfileControl.cs
│ │ │ ├── ProfileControl.resx
│ │ │ ├── Program.cs
│ │ │ └── Session.cs
│ ├── EveBots.exe
│ └── READ ME.txt
├── OrePriority
│ ├── OrePriority.iss
│ ├── OrePriorityUI.xml
│ └── readme.txt
├── POSInventory.iss
├── evecmd
│ ├── EveCmd.cs
│ ├── Globals.cs
│ ├── MiningStates.cs
│ ├── MissionPage.cs
│ ├── MissionStates.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── States.cs
│ ├── TravelStates.cs
│ ├── Util.cs
│ ├── evecmd.csproj
│ └── evecmd.sln
└── isxScripts
│ ├── obj_LSQuery.iss
│ ├── obj_LSTypeIterator.iss
│ └── obj_PulseTimer.iss
├── Launcher.iss
├── README.md
├── Support
├── TestAPI.iss
├── obj_AutoPatcher.iss
├── obj_Configuration.iss
└── obj_LoginHandler.iss
└── Testcases
├── EVEBot
├── test_Belts_MarkEmpty.iss
├── test_Belts_MarkUnsafe.iss
├── test_Belts_WarpTo.iss
├── test_Belts_WarpToNext.iss
├── test_Cargo_TransferCargoToHangar.iss
├── test_Cargo_TransferHangarItemToShip.iss
├── test_Cargo_TransferOreToHangar.iss
├── test_Cargo_TransferOreToJetCan.iss
├── test_EntityCache.iss
├── test_Inventory.iss
├── test_Inventory_NoOreHold.iss
├── test_ItemDB.iss
└── test_StationDB.iss
├── ISXEVE
├── AnomIDHelp.iss
├── CharSelect.iss
├── EVEWindow_Inv_GetItems_ShipCargo.iss
├── EVEWindow_Inv_GetItems_ShipDroneBay.iss
├── EVEWindow_Inv_GetItems_StationItems.iss
├── EVEWindow_Inv_GetItems_StationShips.iss
├── EVEWindow_Inv_StackAll_Hangar.iss
├── EVEWindow_Inventory.iss
├── EVE_Agent.iss
├── EVE_GetAgentMissions.iss
├── EVE_GetAgents.iss
├── EVE_GetBookMarks.iss
├── EVE_GetContacts.iss
├── EVE_GetEVEWindows.iss
├── EVE_GetLocalPilots.iss
├── EVE_GetMarketOrders.iss
├── EVE_MoveItemsTo_Hangar.iss
├── EVE_MoveItemsTo_MyShip.iss
├── EVE_MoveItemsTo_MyShip_OreHold.iss
├── EVE_MoveItemsTo_MyStationHangar_Ore.iss
├── EVE_QueryEntities.iss
├── EVE_QueryEntities2.iss
├── EVE_QueryEntities_Tags.iss
├── Fleet_Broadcast.iss
├── Fleet_GetMembers.iss
├── Item.iss
├── Item_Compress.iss
├── Item_GetInsuranceQuotes.iss
├── Item_Insure.iss
├── Item_MoveTo_Hangar.iss
├── Item_MoveTo_MyShip.iss
├── Item_MoveTo_MyShip_FleetHangar.iss
├── Item_Open.iss
├── Item_UseAbyssalFilament.iss
├── Me.iss
├── Me_Fleet.iss
├── Me_GetActiveDroneIDs.iss
├── Me_GetActiveDrones.iss
├── Me_GetAssets.iss
├── Me_GetAttackers.iss
├── Me_GetJammers.iss
├── Me_GetMyOrders.iss
├── Me_GetSkillQueue.iss
├── Me_GetStationsWithAssets.iss
├── Me_GetTargetedBy.iss
├── Me_GetTargeting.iss
├── Me_GetTargets.iss
├── Module_GetAvailableAmmo.iss
├── MyShip_GetCargo.iss
├── MyShip_GetModules.iss
├── MyShip_GetOreHoldCargo.iss
├── MyShip_Scanner_Cargo.iss
├── MyShip_Scanner_Directional.iss
├── MyShip_Scanner_Ship.iss
├── MyShip_Scanner_Survey.iss
├── MyShip_Scanner_System.iss
├── MyShip_Scanner_System_GetAnomalies.iss
├── MyShip_Scanner_System_GetSignatures.iss
├── ProbeScanner_Anoms.iss
├── ProbeScanner_Anoms_Test.iss
├── Station_GetCorpHangarItems.iss
├── Station_GetHangarItems.iss
├── Station_GetHangarShips.iss
└── test_Drones.iss
├── TODO.txt
├── _Testcase_MethodStr_Body.iss
├── test_AmmoNames.iss
├── test_DoGetEntities.iss
└── test_Obj_PulseTimer.iss
/.gitignore:
--------------------------------------------------------------------------------
1 | /Branches/Dev/External/isxGamesCommon/
2 | /Branches/*/Behaviors/**/_includes.iss
3 | /Branches/*/Behaviors/**/_variables.iss
4 | _ActiveModules.iss
5 | *.log
6 | /Testcases/**/lstypes*.txt
7 | /Branches/Stable/config/*Blacklist.xml
8 | /Branches/Stable/config/*Config.xml
9 | /Branches/Stable/config/*Mission Cache.xml
10 | /Branches/Stable/config/*Training.txt
11 | /Branches/Stable/config/*Whitelist.xml
12 | /Branches/Dev/config/*
13 | !/Branches/Dev/config/Examples
14 | !/Branches/Dev/config/Examples/*
15 |
16 |
--------------------------------------------------------------------------------
/Branches/Dev/Behaviors/Testcases/obj_BeltRunner.iss:
--------------------------------------------------------------------------------
1 | /*
2 | obj_BeltRunner
3 |
4 | Test belt iteration, warpout, etc
5 |
6 | */
7 |
8 | objectdef obj_BeltRunner inherits obj_BaseClass
9 | {
10 | variable string CurrentState = "STATE_IDLE"
11 |
12 | method Initialize()
13 | {
14 | EVEBot.BehaviorList:Insert["BeltRunner"]
15 | LogPrefix:Set["${This.ObjectName}"]
16 |
17 | This.PulseTimer:SetIntervals[2.0,4.0]
18 | Event[EVENT_EVEBOT_ONFRAME]:AttachAtom[This:Pulse]
19 |
20 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR]
21 | }
22 |
23 | method Shutdown()
24 | {
25 | Event[EVENT_EVEBOT_ONFRAME]:DetachAtom[This:Pulse]
26 | }
27 |
28 | method Pulse()
29 | {
30 | if ${EVEBot.Disabled} || ${EVEBot.Paused}
31 | {
32 | return
33 | }
34 |
35 | if ${This.PulseTimer.Ready}
36 | {
37 | This:SetState
38 | This.PulseTimer:Update
39 | }
40 | }
41 |
42 | method SetState()
43 | {
44 | if ${Defense.Hiding}
45 | {
46 | This.CurrentState:Set["DEFENSE_HAS_CONTROL"]
47 | return
48 | }
49 |
50 | if ${Me.InStation} == TRUE
51 | {
52 | This.CurrentState:Set["STATE_DOCKED"]
53 | return
54 | }
55 |
56 | This.CurrentState:Set["STATE_CHANGE_BELT"]
57 | }
58 |
59 | function ProcessState()
60 | {
61 | Logger:Log["${LogPrefix}: Processing State: ${This.CurrentState}",LOG_DEBUG]
62 | switch ${This.CurrentState}
63 | {
64 | case STATE_WAIT_WARP
65 | break
66 | case STATE_IDLE
67 | break
68 | case DEFENSE_HAS_CONTROL
69 | if !${Defense.Hiding}
70 | {
71 | This.CurrentState:Set["STATE_IDLE"]
72 | }
73 | break
74 | case STATE_ABORT
75 | Call Station.Dock
76 | break
77 | case STATE_DOCKED
78 | if !${Defense.Hiding}
79 | {
80 | ; TODO - this could cause dock/redock loops if armor or hull are below minimums, or if drones are still in shortage state -- CyberTech
81 | call Station.Undock
82 | }
83 | break
84 | case STATE_CHANGE_BELT
85 | Offense:Disable
86 | if ${Config.Combat.UseBeltBookmarks}
87 | {
88 | call BeltBookmarks.WarpToNext
89 | }
90 | else
91 | {
92 | call Belts.WarpToNext
93 | }
94 | Offense:Enable
95 | This.CurrentState:Set["STATE_WAIT"]
96 | break
97 | case STATE_WAIT
98 | Logger:Log["Waiting 5 seconds"]
99 | wait 50
100 | This.CurrentState:Set["STATE_IDLE"]
101 | break
102 | case STATE_ERROR
103 | break
104 | default
105 | Logger:Log["Error: CurrentState is unknown value ${This.CurrentState}"]
106 | break
107 | }
108 | }
109 | }
110 |
--------------------------------------------------------------------------------
/Branches/Dev/Behaviors/obj_Courier.iss:
--------------------------------------------------------------------------------
1 | /*
2 | The courier object
3 |
4 | The obj_Courier object is a bot mode designed to be used with
5 | obj_Freighter bot module in EVEBOT. It will obtain and complete
6 | courier missions for a single agent.
7 |
8 | -- GliderPro
9 | */
10 |
11 | /* obj_Courier is a "bot-mode" which is similar to a bot-module.
12 | * obj_Courier runs within the obj_Freighter bot-module. It would
13 | * be very straightforward to turn obj_Courier into a independent
14 | * bot-module in the future if it outgrows its place in obj_Freighter.
15 | */
16 | objectdef obj_Courier inherits obj_BaseClass
17 | {
18 | /* the bot logic is currently based on a state machine */
19 | variable string CurrentState
20 | variable bool bHaveCargo = FALSE
21 |
22 | method Initialize()
23 | {
24 | LogPrefix:Set["${This.ObjectName}"]
25 |
26 | ;PulseTimer:SetIntervals[0.5,1.0]
27 | ;Event[EVENT_EVEBOT_ONFRAME]:AttachAtom[This:Pulse]
28 |
29 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR]
30 | }
31 |
32 | method Shutdown()
33 | {
34 | ;Event[EVENT_EVEBOT_ONFRAME]:DetachAtom
35 | }
36 |
37 | /* NOTE: The order of these if statements is important!! */
38 | method SetState()
39 | {
40 | ;if ${Agents.ActiveAgent.NotEqual[${Config.Freighter.AgentName}]}
41 | ;{
42 | ; Agents:SetActiveAgent[${Config.Freighter.AgentName}]
43 | ;}
44 |
45 | if ${Defense.Hiding} && ${Me.InSpace}
46 | {
47 | This.CurrentState:Set["ABORT"]
48 | }
49 | elseif ${EVEBot.ReturnToStation}
50 | {
51 | This.CurrentState:Set["IDLE"]
52 | }
53 | elseif ${Agents.HaveMission} && !${bHaveCargo}
54 | {
55 | This.CurrentState:Set["PICKUP"]
56 | }
57 | elseif ${Agents.HaveMission} && ${bHaveCargo}
58 | {
59 | This.CurrentState:Set["DROPOFF"]
60 | }
61 | elseif !${Agents.HaveMission}
62 | {
63 | This.CurrentState:Set["GET_MISSION"]
64 | }
65 | else
66 | {
67 | This.CurrentState:Set["Unknown"]
68 | }
69 | }
70 |
71 | function ProcessState()
72 | {
73 | switch ${This.CurrentState}
74 | {
75 | case ABORT
76 | call Station.Dock
77 | break
78 | case GET_MISSION
79 | call Agents.MoveTo
80 | call Agents.RequestCourierMission
81 | break
82 | case PICKUP
83 | Logger:Log["obj_Courier: MoveToPickup"]
84 | call Agents.MoveToPickup
85 | call Cargo.TransferCargoToShip
86 | bHaveCargo:Set[TRUE]
87 | break
88 | case DROPOFF
89 | Logger:Log["obj_Courier: MoveToDropOff"]
90 | call Agents.MoveToDropOff
91 |
92 | Logger:Log["obj_Courier: TurnInMission"]
93 | call Agents.TurnInMission
94 | bHaveCargo:Set[FALSE]
95 | break
96 | case IDLE
97 | break
98 | }
99 | }
100 | }
101 |
102 |
--------------------------------------------------------------------------------
/Branches/Dev/Behaviors/obj_Missioneer.iss:
--------------------------------------------------------------------------------
1 | /*
2 | The missioneer object
3 |
4 | The obj_Missioneer object is the main bot module for the
5 | mission running bot.
6 |
7 | -- GliderPro
8 | */
9 |
10 | objectdef obj_Missioneer inherits obj_BaseClass
11 | {
12 | variable string CurrentState
13 |
14 | method Initialize()
15 | {
16 | EVEBot.BehaviorList:Insert["Missioneer"]
17 | LogPrefix:Set["${This.ObjectName}"]
18 |
19 | This.PulseTimer:SetIntervals[2.0,4.0]
20 | Event[EVENT_ONFRAME]:AttachAtom[This:Pulse]
21 |
22 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR]
23 | }
24 |
25 | method Pulse()
26 | {
27 | if ${This.PulseTimer.Ready}
28 | {
29 | This:SetState
30 | This.PulseTimer:Update
31 | }
32 | }
33 |
34 | method Shutdown()
35 | {
36 | Event[EVENT_ONFRAME]:DetachAtom[This:Pulse]
37 | }
38 |
39 | /* NOTE: The order of these if statements is important!! */
40 | method SetState()
41 | {
42 | if ${Config.Common.Behavior.NotEqual[Missioneer]}
43 | {
44 | return
45 | }
46 |
47 | if ${Defense.Hiding}
48 | {
49 | This.CurrentState:Set["IDLE"]
50 | }
51 | elseif ${EVEBot.ReturnToStation} && ${Me.InSpace}
52 | {
53 | This.CurrentState:Set["ABORT"]
54 | }
55 | elseif ${EVEBot.ReturnToStation}
56 | {
57 | This.CurrentState:Set["IDLE"]
58 | }
59 | elseif ${This.CurentState.Equal["RUN_MISSION"]}
60 | {
61 | return
62 | }
63 | elseif ${Agents.HaveMission}
64 | {
65 | This.CurrentState:Set["RUN_MISSION"]
66 | }
67 | else
68 | {
69 | This.CurrentState:Set["GET_MISSION"]
70 | }
71 | }
72 |
73 | function ProcessState()
74 | {
75 | if ${Config.Common.Behavior.NotEqual[Missioneer]}
76 | {
77 | return
78 | }
79 |
80 | switch ${This.CurrentState}
81 | {
82 | case ABORT
83 | call Station.Dock
84 | break
85 | case GET_MISSION
86 | Agents:PickAgent
87 | call Agents.MoveTo
88 | call Agents.RequestMission
89 | break
90 | case RUN_MISSION
91 | call Missions.RunMission
92 | break
93 | case IDLE
94 | break
95 | }
96 | }
97 | }
98 |
99 |
--------------------------------------------------------------------------------
/Branches/Dev/Data/EVEDB_Items.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | concat('\t\t', '\n',
3 | '\t\t\t', typeID, '', '\n',
4 | '\t\t\t', groupID, '', '\n',
5 | '\t\t\t', volume, '', '\n',
6 | '\t\t\t', capacity, '', '\n',
7 | '\t\t\t', portionSize, '', '\n',
8 | '\t\t\t', basePrice, '', '\n',
9 | '\t\t'
10 | ) as SetString
11 | FROM `invTypes`
12 | order by typeName
13 | INTO OUTFILE '/tmp/EVEDB_Items_Stable.xml'
14 | FIELDS ESCAPED BY ''
15 | LINES TERMINATED BY '\r\n'
16 | '\t\t\t', marketGroupID, '', '\n',
17 |
18 | This export is missing all items which are not sold on the market, because concat gets rid of null rows and MarketGroupID is null
19 |
--------------------------------------------------------------------------------
/Branches/Dev/Data/EVEDB_Items_As_Attributes.sql:
--------------------------------------------------------------------------------
1 | ; Reference: http://wiki.eve-id.net/Database_Tables_-_Inventory
2 |
3 | SELECT
4 | concat_ws('','\t\t0') as SetString
15 | FROM `invTypes`
16 | left outer join dgmTypeAttributes as metalevel on metalevel.typeID = invTypes.typeID and metalevel.attributeID=633
17 | left outer join dgmTypeAttributes as weaponRangeMultiplier on weaponRangeMultiplier.typeID = invTypes.typeID and weaponRangeMultiplier.attributeID=120
18 | left outer join dgmTypeAttributes as techLevel on techLevel.typeID = invTypes.typeID and techLevel.attributeID=422
19 | order by invTypes.typeID
20 | INTO OUTFILE '/tmp/EVEDB_Items.xml'
21 | FIELDS ESCAPED BY ''
22 | LINES TERMINATED BY '\r\n';
23 |
24 |
25 | ; attributeID 633 is metalevel
26 |
27 | ; Dont forget to replace & with & in new file before committing!
28 | ; " => "
29 |
30 | ;SELECT stationID, solarSystemID, stationName
31 | ;FROM staStations
32 |
33 | SELECT
34 | concat_ws('',' 0') as SetString
35 | FROM `staStations`
36 | order by staStations.solarSystemID
37 | into outfile '/tmp/EVEDB_Stations.xml'
38 |
39 | SELECT
40 | * FROM dgmTypeAttributes as dta
41 | left outer join dgmAttributeTypes as dat on dat.attributeID = dta.attributeID;
--------------------------------------------------------------------------------
/Branches/Dev/Docs/svn2html.css:
--------------------------------------------------------------------------------
1 | body {
2 | background-color: white;
3 | color: black;
4 | margin-left: 1.5em;
5 | margin-right: 1.5em;
6 | margin-top: 1.5em;
7 | margin-bottom: 1em;
8 | }
9 |
10 | ul.changelog_entries {
11 | margin-left: 0.7em;
12 | margin-right: 0.7em;
13 | padding-left: 0.7em;
14 | padding-right: 0.7em;
15 | padding-bottom: 0.7em;
16 | background: #fefefe;
17 | border: 1px dashed #88aa88;
18 | }
19 |
20 | li.changelog_entry {
21 | list-style-type: none;
22 | margin-left: 0px;
23 | padding-left: 0px;
24 | margin-top: 0.8em;
25 | border-top: 1px solid #dddddd;
26 | background: #f8f8f8;
27 | }
28 |
29 | li.changelog_change {
30 | list-style-type: circle;
31 | margin-left: 4em;
32 | }
33 |
34 | span.changelog_date {
35 | color: black;
36 | }
37 |
38 | span.changelog_author {
39 | color: #111188;
40 | }
41 |
42 | .changelog_revision {
43 | font-size: 80%;
44 | color: #881111;
45 | background: #fff4f4;
46 | }
47 |
48 | .changelog_revision a {
49 | color: inherit;
50 | }
51 |
52 | .changelog_files {
53 | font-size: 80%;
54 | font-family: monospace;
55 | color: #116611;
56 | }
57 |
58 | .changelog_files:after {
59 | content: ':';
60 | }
61 |
62 | .changelog_message {
63 | display: block;
64 | color: #220000;
65 | }
66 |
67 | p.changelog_footer {
68 | margin-top: 1.5em;
69 | margin-left: 0.7em;
70 | font-style: italic;
71 | line-height: 90%;
72 | color: gray;
73 | font-family: Helvetica, Arial, sans-serif;
74 | }
75 |
76 | p.changelog_footer a {
77 | text-decoration: none;
78 | color: inherit;
79 | }
80 |
--------------------------------------------------------------------------------
/Branches/Dev/Threads/EVEDatabase.iss:
--------------------------------------------------------------------------------
1 | #include ../core/defines.iss
2 | #include ../core/obj_EVEDB.iss
3 |
4 | /*
5 | EVE Database Thread
6 |
7 | Loads XML files containing EVE Database dumps. Only threaded so that it reduces load time.
8 |
9 | -- CyberTech
10 |
11 | */
12 |
13 | function main()
14 | {
15 | /* EVE Database Exports */
16 | declarevariable EVEDB_Stations obj_EVEDB_Stations global
17 | declarevariable EVEDB_StationID obj_EVEDB_StationID global
18 | declarevariable EVEDB_Spawns obj_EVEDB_Spawns global
19 | declarevariable EVEDB_Items obj_EVEDB_Items global
20 |
21 | EVEBot.Threads:Insert[${Script.Filename}]
22 | while ${Script[EVEBot](exists)} && !${EVEBot.Loaded}
23 | {
24 | waitframe
25 | }
26 | while ${Script[EVEBot](exists)}
27 | {
28 | waitframe
29 | }
30 | echo "EVEBot exited, unloading ${Script.Filename}"
31 | }
--------------------------------------------------------------------------------
/Branches/Dev/Threads/NonCombat.iss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/Threads/NonCombat.iss
--------------------------------------------------------------------------------
/Branches/Dev/config/Examples/Launcher_Example.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | FALSE
7 |
8 | username1
9 | password1
10 | char1
11 | 0
12 |
13 |
14 |
15 | TRUE
16 |
17 | username2
18 | password2
19 | char2
20 | 0
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Branches/Dev/config/Examples/Sample User Agents.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 1
6 | 1
7 | 1
8 | 1
9 | 1
10 | 1
11 | 1
12 | 1
13 | 1
14 | 1
15 | 1
16 | 1
17 |
18 |
19 | 1
20 | 1
21 | 1
22 | 1
23 |
24 |
--------------------------------------------------------------------------------
/Branches/Dev/config/Examples/Sample User Market.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 0
6 |
7 |
--------------------------------------------------------------------------------
/Branches/Dev/config/Examples/Sample User Mission Blacklist.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 1
7 | 1
8 | 1
9 | 1
10 |
11 |
12 | 1
13 | 1
14 | 1
15 |
16 |
17 | 1
18 |
19 |
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Branches/Dev/core/Lib/obj_Mutex.iss:
--------------------------------------------------------------------------------
1 | /*
2 | Mutex Class
3 |
4 | Provides mutex variables for exclusive access to controlled resource.
5 |
6 | -- CyberTech
7 |
8 | */
9 |
10 | objectdef obj_Mutex
11 | {
12 | variable bool _Locked = FALSE
13 |
14 | member:bool TryLock(int TimeoutSeconds)
15 | {
16 | if ${_Locked}
17 | {
18 | return FALSE
19 | }
20 |
21 | _Locked:Set[TRUE]
22 | return TRUE
23 | }
24 |
25 | function TryLockWait(int TimeoutSeconds)
26 | {
27 | while ${_Locked}
28 | {
29 | waitframe
30 | ; TODO: Return false if lock not aquired in TimeOutSeconds
31 | }
32 |
33 | _Locked:Set[TRUE]
34 | return TRUE
35 | }
36 |
37 | member:bool Release()
38 | {
39 | _Locked:Set[FALSE]
40 | }
41 | }
--------------------------------------------------------------------------------
/Branches/Dev/core/Lib/obj_Sound.iss:
--------------------------------------------------------------------------------
1 | /*
2 | Sound class
3 |
4 | Object to handle playing sounds.
5 |
6 | -- GliderPro
7 |
8 | */
9 |
10 | objectdef obj_Sound inherits obj_BaseClass
11 | {
12 | variable int m_LastSoundTime
13 | variable int m_SoundDelay
14 |
15 | method Initialize()
16 | {
17 | LogPrefix:Set["${This.ObjectName}"]
18 |
19 | m_LastSoundTime:Set[${LavishScript.RunningTime}]
20 | m_SoundDelay:Set[15000] /* milliseconds */
21 | ;PulseTimer:SetIntervals[0.5,1.0]
22 | ;Event[EVENT_EVEBOT_ONFRAME]:AttachAtom[This:Pulse]
23 |
24 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR]
25 | }
26 |
27 | method Shutdown()
28 | {
29 | ;Event[EVENT_EVEBOT_ONFRAME]:DetachAtom
30 | }
31 |
32 | method TryPlaySound(string Filename)
33 | {
34 | if !${Config.Sound.EnableSound}
35 | return
36 |
37 | if ${Math.Calc64[${m_LastSoundTime} + ${m_SoundDelay}]} < ${LavishScript.RunningTime}
38 | {
39 | PlaySound "${Filename}"
40 | ;System:APICall[${System.GetProcAddress[WinMM.dll,PlaySound].Hex},Filename.String,0,"Math.Dec[22001]"]
41 | m_LastSoundTime:Set[${LavishScript.RunningTime}]
42 | }
43 | }
44 |
45 | method PlayAlarmSound()
46 | {
47 | This:TryPlaySound[ALARMSOUND]
48 | }
49 |
50 | method PlayDetectSound()
51 | {
52 | This:TryPlaySound[DETECTSOUND]
53 | }
54 |
55 | method PlayTellSound()
56 | {
57 | This:TryPlaySound[TELLSOUND]
58 | }
59 |
60 | method PlayLevelSound()
61 | {
62 | This:TryPlaySound[LEVELSOUND]
63 | }
64 |
65 | method PlayWarningSound()
66 | {
67 | This:TryPlaySound[WARNSOUND]
68 | }
69 | method Speak(string Phrase)
70 | {
71 | if !${Config.Common.UseSound}
72 | return
73 | if ${Speech(exists)}
74 | {
75 | Speech:Speak[-speed,0.7,${Phrase}]
76 | }
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/Branches/Dev/core/obj_Assets.iss:
--------------------------------------------------------------------------------
1 | /*
2 | Assets class
3 |
4 | Object to contain members related to asset activities.
5 |
6 | -- GliderPro
7 |
8 | */
9 |
10 | objectdef obj_Assets
11 | {
12 | variable queue:int64 StationsWithAssets
13 | variable index:int64 IgnoreTheseStations
14 |
15 | method Initialize()
16 | {
17 | IgnoreTheseStations:Clear[]
18 | Logger:Log["obj_Assets: Initialized", LOG_MINOR]
19 | }
20 |
21 | method UpdateList()
22 | {
23 | variable index:int64 AnIndex
24 | variable iterator AnIterator
25 |
26 | StationsWithAssets:Clear[]
27 | ;;; WHY WHY WHY DOESN'T THIS WORK??? Me:GetStationsWithAssets[AnIndex]
28 | Me:GetStationsWithAssets[AnIndex]
29 | AnIndex:GetIterator[AnIterator]
30 |
31 | if ${AnIterator:First(exists)}
32 | {
33 | do
34 | {
35 | StationsWithAssets:Queue[${AnIterator.Value}]
36 | }
37 | while ${AnIterator:Next(exists)}
38 | }
39 |
40 | Logger:Log["Assets:UpdateList found ${StationsWithAssets.Used} stations with assets."]
41 | }
42 |
43 | method IgnoreStation(int64 stationID)
44 | {
45 | IgnoreTheseStations:Insert[${stationID}]
46 | Logger:Log["Assets module will ignore ${EVE.GetLocationNameByID[${stationID}]}."]
47 | }
48 |
49 | member:bool IsIgnored(int64 stationID)
50 | {
51 | variable iterator AnIterator
52 |
53 | ;;;Logger:Log["DEBUG: Assets.IsIgnored(${stationID})"]
54 | IgnoreTheseStations:GetIterator[AnIterator]
55 | if ${AnIterator:First(exists)}
56 | {
57 | do
58 | {
59 | if ${stationID.Equal[${AnIterator.Value}]}
60 | {
61 | ;;;Logger:Log["DEBUG: Assets.IsIgnored returning TRUE."]
62 | return TRUE
63 | }
64 | }
65 | while ${AnIterator:Next(exists)}
66 | }
67 |
68 | ;;;Logger:Log["DEBUG: Assets.IsIgnored returning FALSE."]
69 | return FALSE
70 | }
71 |
72 | member:int NextStation()
73 | {
74 | variable int64 nextStatonID
75 |
76 | if ${StationsWithAssets.Used} == 0
77 | {
78 | This:UpdateList[]
79 | }
80 |
81 | nextStatonID:Set[0]
82 | while ${StationsWithAssets.Peek(exists)} && !${nextStatonID}
83 | {
84 | if !${This.IsIgnored[${StationsWithAssets.Peek}]}
85 | {
86 | nextStatonID:Set[${StationsWithAssets.Peek}]
87 | }
88 |
89 | StationsWithAssets:Dequeue[]
90 | }
91 |
92 | ;;;Logger:Log["DEBUG: Assets.NextStation returning ${nextStatonID}."]
93 | return ${nextStatonID}
94 | }
95 |
96 | member:string SolarSystem(int64 stationID)
97 | {
98 | variable string tmp_string
99 | variable int spaces
100 | variable string last_token
101 | variable int last_token_pos
102 |
103 | tmp_string:Set[${EVE.GetLocationNameByID[${stationID}]}]
104 | if ${tmp_string.Find["("]} > 0
105 | {
106 | tmp_string:Set[${tmp_string.Token[1,"("]}]
107 | }
108 | else
109 | {
110 | tmp_string:Set[${tmp_string.Token[1,"-"]}]
111 | }
112 | spaces:Set[${tmp_string.Count[" "]}]
113 | last_token:Set[${tmp_string.Token[${Math.Calc[${spaces}+1]}," "]}]
114 | last_token_pos:Set[${tmp_string.Find[" ${last_token}"]}]
115 | tmp_string:Set[${tmp_string.Left[${last_token_pos}]}]
116 |
117 | return ${tmp_string}
118 | }
119 | }
120 |
--------------------------------------------------------------------------------
/Branches/Dev/core/obj_Autopilot.iss:
--------------------------------------------------------------------------------
1 | /*
2 | Autopilot Class
3 |
4 | This class will contain funtions for navigating space. It is intended
5 | to support a bot class that has traveling functions.
6 |
7 | -- GliderPro
8 | */
9 |
10 | objectdef obj_Autopilot
11 | {
12 | variable int Destination
13 | variable int IsLowSecRoute
14 | variable index:int Path
15 | variable iterator PathIterator
16 |
17 |
18 | method Initialize()
19 | {
20 | This.IsLowSecRoute:Set[-999]
21 | Logger:Log["obj_Autopilot: Initialized", LOG_MINOR]
22 | }
23 |
24 | /*
25 | Given an entity (or character) ID determine if that item
26 | is in the current system.
27 | */
28 | member:bool IsEntityLocal(int64 id)
29 | {
30 | return FALSE
31 | }
32 |
33 | /*
34 | Given a system ID set the autopilot destination to that system.
35 | */
36 | method SetDestination(int64 id)
37 | {
38 | if ${id.Equal[${This.Destination}]}
39 | {
40 | return
41 | }
42 |
43 | Logger:Log["obj_Autopilot: Setting destination to ${Universe[${id}]}"]
44 | This.Destination:Set[${id}]
45 | Universe[${id}]:SetDestination
46 | This.IsLowSecRoute:Set[-999]
47 | }
48 |
49 | /*
50 | Return TRUE if there are low-sec systems in our route.
51 | */
52 | member:bool LowSecRoute()
53 | {
54 | if ${This.IsLowSecRoute} == -999
55 | {
56 |
57 | EVE:GetToDestinationPath[This.Path]
58 | This.Path:GetIterator[This.PathIterator]
59 |
60 | ;;Logger:Log["obj_Autopilot: DEBUG: ${Universe[${This.Destination}]} is ${This.Path.Used} jumps away."]
61 | if ${This.PathIterator:First(exists)}
62 | {
63 | do
64 | {
65 | ;;Logger:Log["obj_Autopilot: DEBUG: ${This.PathIterator.Value} ${Universe[${This.PathIterator.Value}]} (${Universe[${This.PathIterator.Value}].Security})"]
66 | if ${This.PathIterator.Value} > 0 && ${Universe[${This.PathIterator.Value}].Security} <= 0.45
67 | {
68 | Logger:Log["obj_Autopilot: Low-Sec system found"]
69 | This.IsLowSecRoute:Set[TRUE]
70 | break
71 | }
72 | }
73 | while ${This.PathIterator:Next(exists)}
74 | }
75 | }
76 |
77 | return ${This.IsLowSecRoute}
78 | }
79 |
80 | /*
81 | Return the system ID for the next system in the autopilot path.
82 | */
83 | member:int NextSystemEnroute()
84 | {
85 | }
86 |
87 | /*
88 | Return the next stargate (entity ID) for the next stargate
89 | in the autopilot path.
90 | */
91 | member:int NextStargateEnroute()
92 | {
93 | }
94 | }
--------------------------------------------------------------------------------
/Branches/Dev/core/obj_BeltBookmarks.iss:
--------------------------------------------------------------------------------
1 | /*
2 | Belt Bookmark Class
3 |
4 | Belt-bookmark access. Inherits obj_Bookmark
5 |
6 | -- CyberTech
7 |
8 | */
9 |
10 | objectdef obj_BeltBookmarks inherits obj_Bookmarks
11 | {
12 | variable set EmptyBelts
13 |
14 | method Initialize()
15 | {
16 | LogPrefix:Set["${This.ObjectName}"]
17 |
18 | This:Reset
19 | ;PulseTimer:SetIntervals[0.5,1.0]
20 | ;Event[EVENT_EVEBOT_ONFRAME]:AttachAtom[This:Pulse]
21 |
22 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR]
23 | }
24 |
25 | method Reset()
26 | {
27 | ; TODO - Check mode, use ratter prefix, hauler prefix, etc.
28 | if ${Config.Miner.IceMining}
29 | {
30 | This[parent]:Reset["${Config.Labels.IceBeltPrefix}", TRUE]
31 | }
32 | else
33 | {
34 | This[parent]:Reset["${Config.Labels.OreBeltPrefix}", TRUE]
35 | }
36 | Logger:Log["${LogPrefix}: Found ${Bookmarks.Used} bookmarks in this system"]
37 | }
38 |
39 | ; Checks the belt name against the empty belt list.
40 | member IsBeltEmpty(string BeltName)
41 | {
42 | if ${This.EmptyBelts.Contains["${BeltName}"]}
43 | {
44 | Logger:Log["${LogPrefix}:IsBeltEmpty - ${BeltName} - TRUE", LOG_DEBUG]
45 | return TRUE
46 | }
47 | return FALSE
48 | }
49 |
50 | ; Adds the named belt to the empty belt list
51 | method MarkBeltEmpty(string BeltName)
52 | {
53 | EmptyBelts:Add["${BeltName}"]
54 | Logger:Log["${LogPrefix}: Excluding empty belt ${BeltName}"]
55 | }
56 | }
--------------------------------------------------------------------------------
/Branches/Dev/core/obj_Callback.iss:
--------------------------------------------------------------------------------
1 | objectdef obj_Callback inherits obj_BaseClass
2 | {
3 | method Initialize()
4 | {
5 | LogPrefix:Set["${This.ObjectName}"]
6 |
7 | PulseTimer:SetIntervals[2.0,3.0]
8 | Event[EVENT_ONFRAME]:AttachAtom[This:Pulse]
9 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR]
10 | }
11 |
12 | method Pulse()
13 | {
14 | if !${Config.Common.Callback}
15 | {
16 | return
17 | }
18 |
19 | if ${This.PulseTimer.Ready}
20 | {
21 | if ${EVEBot.SessionValid}
22 | {
23 | ;uplink UpdateClient "${Me.Name}" "${MyShip.ShieldPct}" "${MyShip.ArmorPct}" "${MyShip.CapacitorPct}" "${Defense.Hide}" "${Defense.HideReason}" "${Me.ActiveTarget.Name}" "${EVEBot.Paused}" "${Config.Common.Behavior}" "${MyShip}" "${Session}"
24 | }
25 |
26 | This.PulseTimer:Update
27 | }
28 |
29 | }
30 |
31 | method Shutdown()
32 | {
33 | Event[EVENT_ONFRAME]:DetachAtom[This:Pulse]
34 | }
35 | }
--------------------------------------------------------------------------------
/Branches/Dev/core/obj_EVEBotUI.iss:
--------------------------------------------------------------------------------
1 |
2 | objectdef obj_EVEBotUI inherits obj_BaseClass
3 | {
4 | method Initialize()
5 | {
6 | LogPrefix:Set["${This.ObjectName}"]
7 |
8 | ui -load interface/EVESkin.xml
9 | ui -load -skin EVESkin interface/EVEBot.xml
10 |
11 | This:LogSystemStats
12 | This:CheckUIPosition
13 |
14 | PulseTimer:SetIntervals[60.0,60.0]
15 | Event[EVENT_ONFRAME]:AttachAtom[This:Pulse]
16 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR]
17 | }
18 |
19 | method Reload()
20 | {
21 | ;ui -reload -skin EVESkin interface/EVEBot.xml
22 | Logger:WriteQueue
23 | This:PopulateBehavioralComboBox
24 | }
25 |
26 | method PopulateBehavioralComboBox()
27 | {
28 | variable iterator Behavior
29 | EVEBot.BehaviorList:GetIterator[Behavior]
30 |
31 | if ${Behavior:First(exists)}
32 | {
33 | UIElement[EVEBot].FindUsableChild["Behavior","combobox"]:ClearItems
34 | UIElement[EVEBot].FindUsableChild["Behavior","combobox"]:AddItem["Idle"]
35 | do
36 | {
37 | UIElement[EVEBot].FindUsableChild["Behavior","combobox"]:AddItem["${Behavior.Value}"]
38 | }
39 | while ${Behavior:Next(exists)}
40 | UIElement[EVEBot].FindUsableChild["Behavior","combobox"].ItemByText[${Config.Common.Behavior}]:Select
41 | }
42 | }
43 |
44 | method CheckUIPosition()
45 | {
46 | if ${UIElement[EVEBot].X} <= -${Math.Calc[${UIElement[EVEBot].Width} * 0.66].Int} || \
47 | ${UIElement[EVEBot].X} >= ${Math.Calc[${Display.Width} - ${UIElement[EVEBot].Width}]}
48 | {
49 | echo ${UIElement[EVEBot].X} <= -${Math.Calc[${UIElement[EVEBot].Width} * 0.66].Int}
50 | echo ${UIElement[EVEBot].X} >= ${Math.Calc[${Display.Width} - ${UIElement[EVEBot].Width}]}
51 |
52 | echo "----"
53 | echo " Warning: EVEBot window is outside window area: ${UIElement[EVEBot].X} > ${Display.Width}"
54 | echo " You may fix this with 'UIElement[EVEbot]:Reset"
55 | echo "----"
56 | }
57 |
58 | if ${UIElement[EVEBot].Y} <= 1 || \
59 | ${UIElement[EVEBot].Y} >= ${Math.Calc[${Display.Height} - ${UIElement[EVEBot].Height}]}
60 | {
61 | echo ${UIElement[EVEBot].Y} <= 1
62 | echo ${UIElement[EVEBot].Y} >= ${Math.Calc[${Display.Height} - ${UIElement[EVEBot].Height}]}
63 |
64 | echo "----"
65 | echo " Warning: EVEBot window is outside window area: ${UIElement[EVEBot].Y} > ${Display.Height}"
66 | echo " You may fix this with 'UIElement[EVEbot]:Reset"
67 | echo "----"
68 | }
69 | }
70 |
71 | method Shutdown()
72 | {
73 | Event[EVENT_ONFRAME]:DetachAtom[This:Pulse]
74 | ui -unload interface/EVEBot.xml
75 | ui -unload interface/EVESkin.xml
76 | }
77 |
78 | method Pulse()
79 | {
80 | if !${EVEBot.Loaded} || ${EVEBot.Disabled}
81 | {
82 | return
83 | }
84 |
85 | if ${This.PulseTimer.Ready}
86 | {
87 | This.PulseTimer:Update
88 | ; This:LogSystemStats
89 | }
90 | }
91 |
92 | method LogSystemStats()
93 | {
94 | Logger:Log["Memory: ${System.OS} Process: ${Math.Calc[${System.MemoryUsage}/1024].Int}kb Free: ${System.MemFree}mb Texture Mem Free: ${Display.TextureMem}mb FPS: ${Display.FPS.Int} Windowed: ${Display.Windowed}(${Display.AppWindowed}) Foreground: ${Display.Foreground}", LOG_MINOR]
95 | }
96 | }
97 |
--------------------------------------------------------------------------------
/Branches/Dev/core/obj_Fleet.iss:
--------------------------------------------------------------------------------
1 | /*
2 | Fleet Class
3 |
4 | This class will contain funtions for managing and manipulating
5 | your Fleet.
6 |
7 | -- GliderPro
8 |
9 | */
10 |
11 | objectdef obj_Fleet
12 | {
13 | variable int FleetMemberIndex = 1
14 | variable set AllowedFleetMembers
15 | variable index:fleetmember FleetMembers
16 | variable int FleetMemberCount
17 | variable iterator FleetMembersIterator
18 |
19 | method Initialize()
20 | {
21 | Config.FleetMembers.Ref:GetSettingIterator[This.FleetMembersIterator]
22 | if ${This.FleetMembersIterator:First(exists)}
23 | do
24 | {
25 | This.AllowedFleetMembers:Add[${This.FleetMembersIterator.Value}]
26 | }
27 | while ${This.FleetMembersIterator:Next(exists)}
28 |
29 | Logger:Log["obj_Fleet: Initialized", LOG_MINOR]
30 | Logger:Log["obj_Fleet: ${This.AllowedFleetMembers.Used} permitted fleet members added"]
31 | }
32 |
33 | method ProcessInvitations()
34 | {
35 | variable string Inviter
36 |
37 | if !${Me.Fleet.Invited} || ${Me.Fleet.Size}
38 | {
39 | return
40 | }
41 |
42 | ;
charname wants you to join their fleet
43 | Inviter:Set[${Me.Fleet.InvitationText}]
44 | Inviter:Set[${Inviter.Left[${Inviter.Find[" wants you to join their fleet"]}]}]
45 | Inviter:Set[${Inviter.Mid[13, -1]}]
46 |
47 | if ${This.AllowedFleetMembers.Contains["${Inviter}"]}
48 | {
49 | Logger:Log["obj_Fleet: Accepting fleet invitation from ${Inviter}"]
50 | Me.Fleet:AcceptInvite
51 | }
52 | else
53 | {
54 | Logger:Log["obj_Fleet: Rejecting fleet invitation from ${Inviter}"]
55 | Me.Fleet:RejectInvite
56 | }
57 | }
58 |
59 | /*
60 | Issues a Fleet formation request to the player given
61 | by the id parameter.
62 | */
63 | method FormFleetWithPlayer(int id)
64 | {
65 | }
66 |
67 | method UpdateFleetList()
68 | {
69 | FleetMemberIndex:Set[1]
70 | Me.Fleet:GetMembers[FleetMembers]}
71 | FleetMemberCount:Set[${FleetMembers.Used}]
72 | ;echo DEBUG: Populating Fleet member list:: ${FleetMemberCount} members total
73 | }
74 |
75 | member:fleetmember CharIdToFleetMember( int charID )
76 | {
77 | variable fleetmember ReturnValue
78 | ReturnValue:Set[NULL]
79 |
80 | This:UpdateFleetList[]
81 |
82 | variable iterator FleetMemberIterator
83 | FleetMembers:GetIterator[FleetMemberIterator]
84 |
85 | if ${FleetMemberIterator:First(exists)}
86 | {
87 | do
88 | {
89 | if ${FleetMemberIterator.Value.CharID} == ${charID}
90 | {
91 | ReturnValue:Set[${FleetMemberIterator.Value}]
92 | break
93 | }
94 | }
95 | while ${FleetMemberIterator:Next(exists)}
96 | }
97 |
98 | return ${ReturnValue}
99 | }
100 |
101 | method WarpToNextMember(int distance = 0)
102 | {
103 | FleetMemberIndex:Inc
104 |
105 | if ${FleetMembers.Get[${FleetMemberIndex}].CharID} == ${EVEBot.CharID}
106 | {
107 | FleetMemberIndex:Inc
108 | }
109 |
110 | if ${FleetMemberIndex} > ${FleetMemberCount}
111 | {
112 | FleetMemberIndex:Set[1]
113 | }
114 |
115 | Ship:WarpToMember[${FleetMembers.Get[${FleetMemberIndex}].CharID},${distance}]
116 | }
117 |
118 | method WarpToPreviousMember(int distance = 0)
119 | {
120 | if ${FleetMembers.Get[${FleetMemberIndex}].CharID} == ${EVEBot.CharID}
121 | {
122 | FleetMemberIndex:Inc
123 | }
124 |
125 | if ${FleetMemberIndex} > ${FleetMemberCount}
126 | {
127 | FleetMemberIndex:Set[1]
128 | }
129 |
130 | Ship:WarpToMember[${FleetMembers.Get[${FleetMemberIndex}].CharID},${distance}]
131 | }
132 |
133 | }
--------------------------------------------------------------------------------
/Branches/Dev/core/obj_FleetManager.iss:
--------------------------------------------------------------------------------
1 | /*
2 | FleetManager Class
3 |
4 | Handles automatic fleet building and arrangement decisions
5 |
6 | -- CyberTech
7 |
8 | */
9 |
10 | objectdef obj_FleetManager
11 | {
12 | variable string LogPrefix
13 |
14 | method Initialize()
15 | {
16 | LogPrefix:Set["${This.ObjectName}"]
17 | Logger:Log["${LogPrefix}: Initialized"]
18 | Event[EVENT_EVEBOT_ONFRAME]:AttachAtom[This:Pulse]
19 | }
20 |
21 | method Shutdown()
22 | {
23 | Event[EVENT_EVEBOT_ONFRAME]:DetachAtom[This:Pulse]
24 | }
25 |
26 | method Pulse()
27 | {
28 | return
29 | if ${Time.Timestamp} >= ${This.NextPulse.Timestamp}
30 | {
31 | This.NextPulse:Set[${Time.Timestamp}]
32 | This.NextPulse.Second:Inc[${This.PulseIntervalInSeconds}]
33 | This.NextPulse:Update
34 | }
35 | }
36 |
37 | }
--------------------------------------------------------------------------------
/Branches/Dev/core/obj_MissionCombatConfig.iss:
--------------------------------------------------------------------------------
1 | /* obj_MissionCombatConfig.iss - Contain all interaction with MissionCombat
2 | config files (i.e. settingsref) so as to clean it up, make it easy to use,
3 | and separate config crap from the combat missioner.*/
4 |
5 | objectdef obj_MissionCombatConfig
6 | {
7 | method Initialize()
8 | {
9 | Logger:Log["obj_MissionCombatConfig: Initialize not implemented."]
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Branches/Dev/core/obj_Safespots.iss:
--------------------------------------------------------------------------------
1 | /*
2 | Safespots class
3 |
4 | Safespot access. Inherits obj_Bookmarks
5 |
6 | -- CyberTech
7 |
8 | */
9 |
10 | objectdef obj_Safespots inherits obj_Bookmarks
11 | {
12 | method Initialize()
13 | {
14 | LogPrefix:Set["${This.ObjectName}"]
15 |
16 | This:Reset
17 |
18 | ;PulseTimer:SetIntervals[0.5,1.0]
19 | ;Event[EVENT_EVEBOT_ONFRAME]:AttachAtom[This:Pulse]
20 |
21 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR]
22 | }
23 |
24 | method Shutdown()
25 | {
26 | ;Event[EVENT_EVEBOT_ONFRAME]:DetachAtom
27 | }
28 |
29 | method Reset()
30 | {
31 | This[parent]:Reset["${Config.Labels.SafeSpotPrefix}", TRUE]
32 | Logger:Log["${LogPrefix}: Found ${Bookmarks.Used} safespots in this system"]
33 | }
34 |
35 | member:bool AtSafespot()
36 | {
37 | return ${This[parent].AtBookmark}
38 | }
39 | }
40 |
41 |
--------------------------------------------------------------------------------
/Branches/Dev/core/obj_TempBookmarks.iss:
--------------------------------------------------------------------------------
1 | /*
2 | Bookmarks class
3 |
4 | Manages dynamic bookmarks for EVEBot
5 |
6 | -- CyberTech
7 |
8 | */
9 |
10 | objectdef obj_TempBookmarks
11 | {
12 | variable index:string TemporaryBookMarks
13 | variable string StoredLocation = ""
14 |
15 | method Initialize()
16 | {
17 | Logger:Log["obj_TempBookmarks: Initialized", LOG_MINOR]
18 | }
19 |
20 | method Shutdown()
21 | {
22 | }
23 |
24 | method StoreLocation()
25 | {
26 | Logger:Log["Storing current location"]
27 | ;This.StoredLocation:Set["${Me.Name} ${Math.Rand[500000]:Inc[100000]}"]
28 | This.StoredLocation:Set["${Math.Rand[5000]:Inc[1000]}"]
29 |
30 | /* Create the bookmark, but don't mark it as temporary, we'll handle it's cleanup thru RemoveStoredLocation */
31 | This:CreateBookMark[FALSE, "${This.StoredLocation}"]
32 | }
33 |
34 | method RemoveStoredLocation()
35 | {
36 | if ${This.StoredLocationExists}
37 | {
38 | EVE.Bookmark["${This.StoredLocation}"]:Remove
39 | }
40 | }
41 |
42 | member StoredLocationExists()
43 | {
44 | if ${This.StoredLocation.Length} > 0
45 | {
46 | return ${EVE.Bookmark["${This.StoredLocation}"](exists)}
47 | }
48 | return FALSE
49 | }
50 |
51 | method CreateEntityBookMark(int32 ID, bool Temporary=FALSE, string Label="Default")
52 | {
53 | if !${Entity[${ID}](exists)}
54 | {
55 | Logger:Log["Debug: CreateBookMark: Invalid ID"]
56 | return
57 | }
58 |
59 | EntityName:Set[${Entity[${ID}].Name}
60 |
61 | if ${Label.Equal["Default"]}
62 | {
63 | Label:Set[${EntityName}]
64 |
65 | }
66 | ;Logger:Log["CreateBookMark: Label - ${Label}"]
67 |
68 | EVE:CreateBookmark["${Label}"]
69 |
70 | }
71 |
72 | ; Create a bookmark for the current location in space (or in station)
73 | method CreateBookMark(bool Temporary=FALSE, string Label="Default")
74 | {
75 | if ${Label.Equal["Default"]}
76 | {
77 | Label:Set["${Me.Name} ${Math.Rand[500000]:Inc[100000]}]
78 | }
79 |
80 | EVE:CreateBookmark["${Label}"]
81 | if ${Temporary}
82 | {
83 | ;Logger:Log["CreateBookMark: Label - ${Label} (Temporary)"]
84 | TemporaryBookMarks:Insert[${Label}]
85 | }
86 | else
87 | {
88 | ;Logger:Log["CreateBookMark: Label - ${Label}"]
89 | }
90 |
91 | }
92 |
93 | }
--------------------------------------------------------------------------------
/Branches/Dev/interface/Images/EVESkin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/interface/Images/EVESkin.png
--------------------------------------------------------------------------------
/Branches/Dev/interface/Images/checkboxtexture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/interface/Images/checkboxtexture.png
--------------------------------------------------------------------------------
/Branches/Dev/interface/Images/checkboxtexturechecked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/interface/Images/checkboxtexturechecked.png
--------------------------------------------------------------------------------
/Branches/Dev/interface/Images/checkboxtexturecheckedhover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/interface/Images/checkboxtexturecheckedhover.png
--------------------------------------------------------------------------------
/Branches/Dev/interface/Images/checkboxtexturehover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/interface/Images/checkboxtexturehover.png
--------------------------------------------------------------------------------
/Branches/Dev/interface/Images/checkboxtexturepressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/interface/Images/checkboxtexturepressed.png
--------------------------------------------------------------------------------
/Branches/Dev/sounds/alarm.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/sounds/alarm.wav
--------------------------------------------------------------------------------
/Branches/Dev/sounds/death.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/sounds/death.wav
--------------------------------------------------------------------------------
/Branches/Dev/sounds/detect.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/sounds/detect.wav
--------------------------------------------------------------------------------
/Branches/Dev/sounds/level.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/sounds/level.wav
--------------------------------------------------------------------------------
/Branches/Dev/sounds/taps.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/sounds/taps.wav
--------------------------------------------------------------------------------
/Branches/Dev/sounds/tell.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/sounds/tell.wav
--------------------------------------------------------------------------------
/Branches/Dev/sounds/warning.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/sounds/warning.wav
--------------------------------------------------------------------------------
/Branches/Stable/Behaviors/obj_Courier.iss:
--------------------------------------------------------------------------------
1 | /*
2 | The courier object
3 |
4 | The obj_Courier object is a bot mode designed to be used with
5 | obj_Freighter bot module in EVEBOT. It will obtain and complete
6 | courier missions for a single agent.
7 |
8 | -- GliderPro
9 | */
10 |
11 | /* obj_Courier is a "bot-mode" which is similar to a bot-module.
12 | * obj_Courier runs within the obj_Freighter bot-module. It would
13 | * be very straightforward to turn obj_Courier into a independent
14 | * bot-module in the future if it outgrows its place in obj_Freighter.
15 | */
16 | objectdef obj_Courier inherits obj_BaseClass
17 | {
18 | /* the bot logic is currently based on a state machine */
19 | variable string CurrentState
20 | variable bool bHaveCargo = FALSE
21 |
22 | method Initialize()
23 | {
24 | ; Not a top level behavior
25 | Behaviors.Loaded:Remove[${This.ObjectName}]
26 |
27 | LogPrefix:Set["${This.ObjectName}"]
28 |
29 | ;PulseTimer:SetIntervals[0.5,1.0]
30 | ;Event[EVENT_EVEBOT_ONFRAME]:AttachAtom[This:Pulse]
31 |
32 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR]
33 | }
34 |
35 | method Shutdown()
36 | {
37 | ;Event[EVENT_EVEBOT_ONFRAME]:DetachAtom
38 | }
39 |
40 | /* NOTE: The order of these if statements is important!! */
41 | method SetState()
42 | {
43 | ;if ${Agents.ActiveAgent.NotEqual[${Config.Freighter.AgentName}]}
44 | ;{
45 | ; Agents:SetActiveAgent[${Config.Freighter.AgentName}]
46 | ;}
47 |
48 | ; if ${Defense.Hiding} && ${Me.InSpace}
49 | ; {
50 | ; This.CurrentState:Set["ABORT"]
51 | ; }
52 | if ${EVEBot.ReturnToStation} && !${Me.InStation}
53 | {
54 | This.CurrentState:Set["ABORT"]
55 | }
56 | elseif ${EVEBot.ReturnToStation}
57 | {
58 | This.CurrentState:Set["IDLE"]
59 | }
60 | elseif ${Agents.HaveMission} && !${bHaveCargo}
61 | {
62 | This.CurrentState:Set["PICKUP"]
63 | }
64 | elseif ${Agents.HaveMission} && ${bHaveCargo}
65 | {
66 | This.CurrentState:Set["DROPOFF"]
67 | }
68 | elseif !${Agents.HaveMission}
69 | {
70 | This.CurrentState:Set["GET_MISSION"]
71 | }
72 | else
73 | {
74 | This.CurrentState:Set["Unknown"]
75 | }
76 | }
77 |
78 | function ProcessState()
79 | {
80 | switch ${This.CurrentState}
81 | {
82 | case ABORT
83 | call Station.Dock
84 | break
85 | case GET_MISSION
86 | call Agents.MoveTo
87 | call Agents.RequestCourierMission
88 | break
89 | case PICKUP
90 | Logger:Log["obj_Courier: MoveToPickup"]
91 | call Agents.MoveToPickup
92 | call Cargo.TransferHangarItemToShip
93 | if !${Return}
94 | {
95 | EVEBot:Pause["${LogPrefix}: Failed to pickup items from station"]
96 | }
97 | bHaveCargo:Set[TRUE]
98 | break
99 | case DROPOFF
100 | Logger:Log["obj_Courier: MoveToDropOff"]
101 | call Agents.MoveToDropOff
102 |
103 | Logger:Log["obj_Courier: TurnInMission"]
104 | call Agents.TurnInMission
105 | bHaveCargo:Set[FALSE]
106 | break
107 | case IDLE
108 | break
109 | }
110 | }
111 | }
112 |
113 |
--------------------------------------------------------------------------------
/Branches/Stable/Behaviors/obj_Missioneer.iss:
--------------------------------------------------------------------------------
1 | /*
2 | The missioneer object
3 |
4 | The obj_Missioneer object is the main bot module for the
5 | mission running bot.
6 |
7 | -- GliderPro
8 | */
9 |
10 | objectdef obj_Missioneer inherits obj_BaseClass
11 | {
12 | variable string CurrentState
13 |
14 | method Initialize()
15 | {
16 | LogPrefix:Set["${This.ObjectName}"]
17 |
18 | This.PulseTimer:SetIntervals[2.0,4.0]
19 | Event[EVENT_ONFRAME]:AttachAtom[This:Pulse]
20 |
21 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR]
22 | }
23 |
24 | method Pulse()
25 | {
26 | if ${EVEBot.Paused}
27 | {
28 | return
29 | }
30 |
31 | if ${This.PulseTimer.Ready}
32 | {
33 | This:SetState
34 | This.PulseTimer:Update
35 | }
36 | }
37 |
38 | method Shutdown()
39 | {
40 | Event[EVENT_ONFRAME]:DetachAtom[This:Pulse]
41 | }
42 |
43 | /* NOTE: The order of these if statements is important!! */
44 | method SetState()
45 | {
46 | if ${Config.Common.CurrentBehavior.NotEqual[Missioneer]}
47 | {
48 | return
49 | }
50 |
51 | ; if ${Defense.Hiding}
52 | ; {
53 | ; This.CurrentState:Set["IDLE"]
54 | ; }
55 | if ${EVEBot.ReturnToStation} && ${Me.InSpace}
56 | {
57 | This.CurrentState:Set["ABORT"]
58 | }
59 | elseif ${EVEBot.ReturnToStation}
60 | {
61 | This.CurrentState:Set["IDLE"]
62 | }
63 | elseif ${This.CurentState.Equal["RUN_MISSION"]}
64 | {
65 | return
66 | }
67 | elseif ${Agents.HaveMission}
68 | {
69 | This.CurrentState:Set["RUN_MISSION"]
70 | }
71 | else
72 | {
73 | This.CurrentState:Set["GET_MISSION"]
74 | }
75 | }
76 |
77 | function ProcessState()
78 | {
79 | if ${Config.Common.CurrentBehavior.NotEqual[Missioneer]}
80 | {
81 | return
82 | }
83 |
84 | switch ${This.CurrentState}
85 | {
86 | case ABORT
87 | call Station.Dock
88 | break
89 | case GET_MISSION
90 | Agents:PickAgent
91 | call Agents.MoveTo
92 | call Agents.RequestMission
93 | break
94 | case RUN_MISSION
95 | call Missions.RunMission
96 | break
97 | case IDLE
98 | break
99 | }
100 | }
101 | }
102 |
103 |
--------------------------------------------------------------------------------
/Branches/Stable/Data/EVEDB_Items.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | concat('\t\t', '\n',
3 | '\t\t\t', typeID, '', '\n',
4 | '\t\t\t', groupID, '', '\n',
5 | '\t\t\t', volume, '', '\n',
6 | '\t\t\t', capacity, '', '\n',
7 | '\t\t\t', portionSize, '', '\n',
8 | '\t\t\t', basePrice, '', '\n',
9 | '\t\t'
10 | ) as SetString
11 | FROM `invTypes`
12 | order by typeName
13 | INTO OUTFILE '/tmp/EVEDB_Items_Stable.xml'
14 | FIELDS ESCAPED BY ''
15 | LINES TERMINATED BY '\r\n'
16 | '\t\t\t', marketGroupID, '', '\n',
17 |
18 | This export is missing all items which are not sold on the market, because concat gets rid of null rows and MarketGroupID is null
19 |
--------------------------------------------------------------------------------
/Branches/Stable/Data/EVEDB_Items_As_Attributes.sql:
--------------------------------------------------------------------------------
1 | ; Reference: http://wiki.eve-id.net/Database_Tables_-_Inventory
2 |
3 | SELECT
4 | concat_ws('','\t\t0') as SetString
15 | FROM `invTypes`
16 | left outer join dgmTypeAttributes as metalevel on metalevel.typeID = invTypes.typeID and metalevel.attributeID=633
17 | left outer join dgmTypeAttributes as weaponRangeMultiplier on weaponRangeMultiplier.typeID = invTypes.typeID and weaponRangeMultiplier.attributeID=120
18 | left outer join dgmTypeAttributes as techLevel on techLevel.typeID = invTypes.typeID and techLevel.attributeID=422
19 | order by invTypes.typeID
20 | INTO OUTFILE '/tmp/EVEDB_Items.xml'
21 | FIELDS ESCAPED BY ''
22 | LINES TERMINATED BY '\r\n';
23 |
24 |
25 | ; attributeID 633 is metalevel
26 |
27 | ; Dont forget to replace & with & in new file before committing!
28 | ; " => "
29 |
30 | ;SELECT stationID, solarSystemID, stationName
31 | ;FROM staStations
32 |
33 | SELECT
34 | concat_ws('',' 0') as SetString
35 | FROM `staStations`
36 | order by staStations.solarSystemID
37 | into outfile '/tmp/EVEDB_Stations.xml'
38 |
39 | SELECT
40 | * FROM dgmTypeAttributes as dta
41 | left outer join dgmAttributeTypes as dat on dat.attributeID = dta.attributeID;
--------------------------------------------------------------------------------
/Branches/Stable/Docs/svn2html.css:
--------------------------------------------------------------------------------
1 | body {
2 | background-color: white;
3 | color: black;
4 | margin-left: 1.5em;
5 | margin-right: 1.5em;
6 | margin-top: 1.5em;
7 | margin-bottom: 1em;
8 | }
9 |
10 | ul.changelog_entries {
11 | margin-left: 0.7em;
12 | margin-right: 0.7em;
13 | padding-left: 0.7em;
14 | padding-right: 0.7em;
15 | padding-bottom: 0.7em;
16 | background: #fefefe;
17 | border: 1px dashed #88aa88;
18 | }
19 |
20 | li.changelog_entry {
21 | list-style-type: none;
22 | margin-left: 0px;
23 | padding-left: 0px;
24 | margin-top: 0.8em;
25 | border-top: 1px solid #dddddd;
26 | background: #f8f8f8;
27 | }
28 |
29 | li.changelog_change {
30 | list-style-type: circle;
31 | margin-left: 4em;
32 | }
33 |
34 | span.changelog_date {
35 | color: black;
36 | }
37 |
38 | span.changelog_author {
39 | color: #111188;
40 | }
41 |
42 | .changelog_revision {
43 | font-size: 80%;
44 | color: #881111;
45 | background: #fff4f4;
46 | }
47 |
48 | .changelog_revision a {
49 | color: inherit;
50 | }
51 |
52 | .changelog_files {
53 | font-size: 80%;
54 | font-family: monospace;
55 | color: #116611;
56 | }
57 |
58 | .changelog_files:after {
59 | content: ':';
60 | }
61 |
62 | .changelog_message {
63 | display: block;
64 | color: #220000;
65 | }
66 |
67 | p.changelog_footer {
68 | margin-top: 1.5em;
69 | margin-left: 0.7em;
70 | font-style: italic;
71 | line-height: 90%;
72 | color: gray;
73 | font-family: Helvetica, Arial, sans-serif;
74 | }
75 |
76 | p.changelog_footer a {
77 | text-decoration: none;
78 | color: inherit;
79 | }
80 |
--------------------------------------------------------------------------------
/Branches/Stable/Launcher.iss:
--------------------------------------------------------------------------------
1 | /*
2 | */
3 |
4 | function main(string unchar="", bool StartBot=FALSE)
5 | {
6 | if !${LavishScript.Executable.Find["ExeFile.exe"](exists)}
7 | {
8 | Script:End
9 | }
10 |
11 | Display.Window:Flash
12 | echo "*******************************************"
13 | echo "\arYou are using a branch of EVEBot that has been deprecated - your launcher and support scripts are not being updated"
14 | echo "\ayPlease see http://eve.isxgames.com/wiki/index.php?title=EVEBot_for_Dummies#How_to_get_EVEBot\ax"
15 | echo "\ayfor instructions on installing the 'Install' branch of EVEBot, which has a vastly updated launcher\ax"
16 | echo "*******************************************"
17 | Console:Open
18 | return
19 | }
20 |
--------------------------------------------------------------------------------
/Branches/Stable/Lib/obj_Mutex.iss:
--------------------------------------------------------------------------------
1 | /*
2 | Mutex Class
3 |
4 | Provides mutex variables for exclusive access to controlled resource.
5 |
6 | -- CyberTech
7 |
8 | */
9 |
10 | objectdef obj_Mutex
11 | {
12 | variable bool _Locked = FALSE
13 |
14 | member:bool TryLock(int TimeoutSeconds)
15 | {
16 | if ${_Locked}
17 | {
18 | return FALSE
19 | }
20 |
21 | _Locked:Set[TRUE]
22 | return TRUE
23 | }
24 |
25 | function TryLockWait(int TimeoutSeconds)
26 | {
27 | while ${_Locked}
28 | {
29 | waitframe
30 | ; TODO: Return false if lock not aquired in TimeOutSeconds
31 | }
32 |
33 | _Locked:Set[TRUE]
34 | return TRUE
35 | }
36 |
37 | member:bool Release()
38 | {
39 | _Locked:Set[FALSE]
40 | }
41 | }
--------------------------------------------------------------------------------
/Branches/Stable/Lib/obj_Vector.iss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/Lib/obj_Vector.iss
--------------------------------------------------------------------------------
/Branches/Stable/config/Launcher_example.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | FALSE
7 |
8 | username1
9 | password1
10 | char1
11 | 0
12 |
13 |
14 |
15 | TRUE
16 |
17 | username2
18 | password2
19 | char2
20 | 0
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Branches/Stable/config/Sample User Agents.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 1
6 | 1
7 | 1
8 | 1
9 | 1
10 | 1
11 | 1
12 | 1
13 | 1
14 | 1
15 | 1
16 | 1
17 |
18 |
19 | 1
20 | 1
21 | 1
22 |
23 |
--------------------------------------------------------------------------------
/Branches/Stable/core/obj_Ammospots.iss:
--------------------------------------------------------------------------------
1 | /*
2 | Ammospots Object
3 |
4 | Creates an index of ammo bookmarks that exist in current system.
5 | Code copied from obj_Safespots.iss and modified.
6 |
7 | -- NoOne
8 |
9 | */
10 | objectdef obj_Ammospots
11 | {
12 | variable index:bookmark AmmoSpots
13 | variable iterator AmmoSpotIterator
14 |
15 | method Initialize()
16 | {
17 | Logger:Log["obj_Ammospots: Initialized", LOG_MINOR]
18 | }
19 |
20 | method ResetAmmoSpotList()
21 | {
22 | AmmoSpots:Clear
23 | EVE:GetBookmarks[AmmoSpots]
24 |
25 | variable int idx
26 | idx:Set[${AmmoSpots.Used}]
27 |
28 | while ${idx} > 0
29 | {
30 | variable string Prefix
31 | Prefix:Set[${Config.Labels.AmmoPrefix}]
32 |
33 | variable string Label
34 | Label:Set["${AmmoSpots.Get[${idx}].Label.Escape}"]
35 | if ${Label.Left[${Prefix.Length}].NotEqual[${Prefix}]}
36 | {
37 | AmmoSpots:Remove[${idx}]
38 | }
39 | elseif ${AmmoSpots.Get[${idx}].SolarSystemID} != ${Me.SolarSystemID}
40 | {
41 | AmmoSpots:Remove[${idx}]
42 | }
43 |
44 | idx:Dec
45 | }
46 | AmmoSpots:Collapse
47 | AmmoSpots:GetIterator[AmmoSpotIterator]
48 |
49 | Logger:Log["ResetAmmoSpotList found ${AmmoSpots.Used} ammospots in this system."]
50 | }
51 |
52 | function WarpToNextAmmoSpot()
53 | {
54 | if ${AmmoSpots.Used} == 0
55 | {
56 | This:ResetAmmoSpotList
57 | }
58 |
59 | if ${AmmoSpots.Get[1](exists)} && ${AmmoSpots.Get[1].SolarSystemID} != ${Me.SolarSystemID}
60 | {
61 | This:ResetAmmoSpotList
62 | }
63 |
64 | if !${AmmoSpotIterator:Next(exists)}
65 | {
66 | AmmoSpotIterator:First
67 | }
68 |
69 | if ${AmmoSpotIterator.Value(exists)}
70 | {
71 | Logger:Log["Debug: WarpToBookMarkName to ${AmmoSpotIterator.Value.Name} from Ammospots Line _LINE_ ", LOG_DEBUG]
72 | call Ship.WarpToBookMark ${AmmoSpotIterator.Value.ID}
73 | }
74 | else
75 | {
76 | Logger:Log["ERROR: obj_Ammospots.WarpToNextAmmoSpot found an invalid bookmark!"]
77 | }
78 | }
79 |
80 | member:bool IsAtAmmospot()
81 | {
82 | if ${AmmoSpots.Used} == 0
83 | {
84 | This:ResetAmmoSpotList
85 | }
86 |
87 | ; Are we within warp range of the bookmark?
88 | if ${AmmoSpotIterator.Value.ItemID} > -1
89 | {
90 | if ${Me.ToEntity.DistanceTo[${AmmoSpotIterator.Value.ItemID}]} < WARP_RANGE
91 | {
92 | return TRUE
93 | }
94 | }
95 | elseif ${Math.Distance[${Me.ToEntity.X}, ${Me.ToEntity.Y}, ${Me.ToEntity.Z}, ${AmmoSpotIterator.Value.X}, ${AmmoSpotIterator.Value.Y}, ${AmmoSpotIterator.Value.Z}]} < WARP_RANGE
96 | {
97 | return TRUE
98 | }
99 |
100 | return FALSE
101 | }
102 |
103 | function WarpTo()
104 | {
105 | call This.WarpToNextAmmoSpot
106 | }
107 |
108 | ; Does an Ammo Bookmark exist in this system?
109 | member:bool IsThereAmmospotBookmark()
110 | {
111 | if ${AmmoSpots.Used} == 0
112 | {
113 | This:ResetAmmoSpotList
114 | }
115 | ; Check one last time after resetting list
116 | if ${AmmoSpots.Used} == 0
117 | {
118 | return FALSE
119 | }
120 | return TRUE
121 | }
122 | }
123 |
124 |
--------------------------------------------------------------------------------
/Branches/Stable/core/obj_Assets.iss:
--------------------------------------------------------------------------------
1 | /*
2 | Assets class
3 |
4 | Object to contain members related to asset activities.
5 |
6 | -- GliderPro
7 |
8 | */
9 |
10 | objectdef obj_Assets
11 | {
12 | variable queue:int64 StationsWithAssets
13 | variable index:int64 IgnoreTheseStations
14 |
15 | method Initialize()
16 | {
17 | IgnoreTheseStations:Clear[]
18 | Logger:Log["obj_Assets: Initialized", LOG_MINOR]
19 | }
20 |
21 | method UpdateList()
22 | {
23 | variable index:int64 AnIndex
24 | variable iterator AnIterator
25 |
26 | StationsWithAssets:Clear[]
27 | ;;; WHY WHY WHY DOESN'T THIS WORK??? Me:GetStationsWithAssets[AnIndex]
28 | Me:GetStationsWithAssets[AnIndex]
29 | AnIndex:GetIterator[AnIterator]
30 |
31 | if ${AnIterator:First(exists)}
32 | {
33 | do
34 | {
35 | StationsWithAssets:Queue[${AnIterator.Value}]
36 | }
37 | while ${AnIterator:Next(exists)}
38 | }
39 |
40 | Logger:Log["Assets:UpdateList found ${StationsWithAssets.Used} stations with assets."]
41 | }
42 |
43 | method IgnoreStation(int64 stationID)
44 | {
45 | IgnoreTheseStations:Insert[${stationID}]
46 | Logger:Log["Assets module will ignore ${EVE.GetLocationNameByID[${stationID}]}."]
47 | }
48 |
49 | member:bool IsIgnored(int64 stationID)
50 | {
51 | variable iterator AnIterator
52 |
53 | ;;;Logger:Log["DEBUG: Assets.IsIgnored(${stationID})"]
54 | IgnoreTheseStations:GetIterator[AnIterator]
55 | if ${AnIterator:First(exists)}
56 | {
57 | do
58 | {
59 | if ${stationID.Equal[${AnIterator.Value}]}
60 | {
61 | ;;;Logger:Log["DEBUG: Assets.IsIgnored returning TRUE."]
62 | return TRUE
63 | }
64 | }
65 | while ${AnIterator:Next(exists)}
66 | }
67 |
68 | ;;;Logger:Log["DEBUG: Assets.IsIgnored returning FALSE."]
69 | return FALSE
70 | }
71 |
72 | member:int NextStation()
73 | {
74 | variable int64 nextStatonID
75 |
76 | if ${StationsWithAssets.Used} == 0
77 | {
78 | This:UpdateList[]
79 | }
80 |
81 | nextStatonID:Set[0]
82 | while ${StationsWithAssets.Peek(exists)} && !${nextStatonID}
83 | {
84 | if !${This.IsIgnored[${StationsWithAssets.Peek}]}
85 | {
86 | nextStatonID:Set[${StationsWithAssets.Peek}]
87 | }
88 |
89 | StationsWithAssets:Dequeue[]
90 | }
91 |
92 | ;;;Logger:Log["DEBUG: Assets.NextStation returning ${nextStatonID}."]
93 | return ${nextStatonID}
94 | }
95 |
96 | member:string SolarSystem(int64 stationID)
97 | {
98 | variable string tmp_string
99 | variable int spaces
100 | variable string last_token
101 | variable int last_token_pos
102 |
103 | tmp_string:Set[${EVE.GetLocationNameByID[${stationID}]}]
104 | if ${tmp_string.Find["("]} > 0
105 | {
106 | tmp_string:Set[${tmp_string.Token[1,"("]}]
107 | }
108 | else
109 | {
110 | tmp_string:Set[${tmp_string.Token[1,"-"]}]
111 | }
112 | spaces:Set[${tmp_string.Count[" "]}]
113 | last_token:Set[${tmp_string.Token[${Math.Calc[${spaces}+1]}," "]}]
114 | last_token_pos:Set[${tmp_string.Find[" ${last_token}"]}]
115 | tmp_string:Set[${tmp_string.Left[${last_token_pos}]}]
116 |
117 | return ${tmp_string}
118 | }
119 | }
120 |
--------------------------------------------------------------------------------
/Branches/Stable/core/obj_Autopilot.iss:
--------------------------------------------------------------------------------
1 | /*
2 | Autopilot Class
3 |
4 | This class will contain funtions for navigating space. It is intended
5 | to support a bot class that has traveling functions.
6 |
7 | -- GliderPro
8 | */
9 |
10 | objectdef obj_Autopilot
11 | {
12 | variable int Destination
13 | variable int IsLowSecRoute
14 | variable index:int Path
15 | variable iterator PathIterator
16 |
17 |
18 | method Initialize()
19 | {
20 | This.IsLowSecRoute:Set[-999]
21 | Logger:Log["obj_Autopilot: Initialized", LOG_MINOR]
22 | }
23 |
24 | /*
25 | Given an entity (or character) ID determine if that item
26 | is in the current system.
27 | */
28 | member:bool IsEntityLocal(int64 id)
29 | {
30 | return FALSE
31 | }
32 |
33 | /*
34 | Given a system ID set the autopilot destination to that system.
35 | */
36 | method SetDestination(int64 id)
37 | {
38 | if ${id.Equal[${This.Destination}]}
39 | {
40 | return
41 | }
42 |
43 | Logger:Log["obj_Autopilot: Setting destination to ${Universe[${id}]}"]
44 | This.Destination:Set[${id}]
45 | Universe[${id}]:SetDestination
46 | This.IsLowSecRoute:Set[-999]
47 | }
48 |
49 | /*
50 | Return TRUE if there are low-sec systems in our route.
51 | */
52 | member:bool LowSecRoute()
53 | {
54 | if ${This.IsLowSecRoute} == -999
55 | {
56 |
57 | EVE:GetToDestinationPath[This.Path]
58 | This.Path:GetIterator[This.PathIterator]
59 |
60 | ;;Logger:Log["obj_Autopilot: DEBUG: ${Universe[${This.Destination}]} is ${This.Path.Used} jumps away."]
61 | if ${This.PathIterator:First(exists)}
62 | {
63 | do
64 | {
65 | ;;Logger:Log["obj_Autopilot: DEBUG: ${This.PathIterator.Value} ${Universe[${This.PathIterator.Value}]} (${Universe[${This.PathIterator.Value}].Security})"]
66 | if ${This.PathIterator.Value} > 0 && ${Universe[${This.PathIterator.Value}].Security} <= 0.45
67 | {
68 | Logger:Log["obj_Autopilot: Low-Sec system found"]
69 | This.IsLowSecRoute:Set[TRUE]
70 | break
71 | }
72 | }
73 | while ${This.PathIterator:Next(exists)}
74 | }
75 | }
76 |
77 | return ${This.IsLowSecRoute}
78 | }
79 |
80 | /*
81 | Return the system ID for the next system in the autopilot path.
82 | */
83 | member:int NextSystemEnroute()
84 | {
85 | }
86 |
87 | /*
88 | Return the next stargate (entity ID) for the next stargate
89 | in the autopilot path.
90 | */
91 | member:int NextStargateEnroute()
92 | {
93 | }
94 | }
--------------------------------------------------------------------------------
/Branches/Stable/core/obj_Bookmarks.iss:
--------------------------------------------------------------------------------
1 | /*
2 | Bookmark class
3 |
4 | Manages dynamic bookmarks for EVEBot
5 |
6 | -- CyberTech
7 |
8 | */
9 |
10 | objectdef obj_Bookmarks
11 | {
12 | variable index:string TemporaryBookMarks
13 | variable string StoredLocation = ""
14 |
15 | method Initialize()
16 | {
17 | Logger:Log["obj_Bookmarks: Initialized", LOG_MINOR]
18 | }
19 |
20 | method Shutdown()
21 | {
22 | }
23 |
24 | method StoreLocation()
25 | {
26 | Logger:Log["Storing current location"]
27 | ;This.StoredLocation:Set["${Me.Name} ${Math.Rand[500000]:Inc[100000]}"]
28 | This.StoredLocation:Set["${Math.Rand[5000]:Inc[1000]}"]
29 |
30 | /* Create the bookmark, but don't mark it as temporary, we'll handle it's cleanup thru RemoveStoredLocation */
31 | This:CreateBookMark[FALSE, "${This.StoredLocation}"]
32 | }
33 |
34 | member:bool CheckForStoredLocation()
35 | {
36 | return ${StoredLocation.Length} != 0
37 | }
38 |
39 | method RemoveStoredLocation()
40 | {
41 | if ${This.StoredLocationExists}
42 | {
43 | EVE.Bookmark["${This.StoredLocation}"]:Remove
44 | StoredLocation:Set[""]
45 | }
46 | }
47 |
48 | member StoredLocationExists()
49 | {
50 | if ${This.StoredLocation.Length} > 0
51 | {
52 | return ${EVE.Bookmark["${This.StoredLocation}"](exists)}
53 | }
54 | return FALSE
55 | }
56 |
57 | ; Create a bookmark for the current location in space (or in station)
58 | method CreateBookMark(bool Temporary=FALSE, string Label="Default")
59 | {
60 | if ${Label.Equal["Default"]}
61 | {
62 | Label:Set["${Me.Name} ${Math.Rand[500000]:Inc[100000]}"]
63 | }
64 |
65 | EVE:CreateBookmark["${Label}"]
66 | if ${Temporary}
67 | {
68 | ;Logger:Log["CreateBookMark: Label - ${Label} (Temporary)"]
69 | TemporaryBookMarks:Insert[${Label}]
70 | }
71 | else
72 | {
73 | ;Logger:Log["CreateBookMark: Label - ${Label}"]
74 | }
75 | }
76 |
77 | member:int64 FindRandomBounceBookmark()
78 | {
79 | variable index:bookmark bm_index
80 | EVE:GetBookmarks[bm_index]
81 |
82 | variable string InstaQuery
83 | InstaQuery:Concat["SolarSystemID = ${Me.SolarSystemID}"]
84 | InstaQuery:Concat[" && Distance > WARP_RANGE"]
85 | InstaQuery:Concat[" && Distance > 500000"]
86 | InstaQuery:Concat[" && IsWarpAligned = 1"]
87 | bm_index:RemoveByQuery[${LSQueryCache[${InstaQuery}]}, FALSE]
88 | bm_index:Collapse
89 |
90 | if ${bm_index.Used} == 0
91 | {
92 | ; No aligned bookmark found, so check for unaligned
93 | EVE:GetBookmarks[bm_index]
94 |
95 | InstaQuery:Set["SolarSystemID = ${Me.SolarSystemID}"]
96 | InstaQuery:Concat[" && Distance > WARP_RANGE"]
97 | InstaQuery:Concat[" && Distance > 500000"]
98 | bm_index:RemoveByQuery[${LSQueryCache[${InstaQuery}]}, FALSE]
99 | bm_index:Collapse
100 |
101 | if ${bm_index.Used} == 0
102 | {
103 | Logger:Log["FindRandomInstaUndock returning -1", LOG_DEBUG]
104 | return -1
105 | }
106 | }
107 |
108 | variable int RandomBM
109 | RandomBM:Set[${Math.Rand[${bm_index.Used}]:Inc[1]}]
110 | Logger:Log["FindRandomBounceBookmark returning ${bm_index[${RandomBM}].ID} ${bm_index[${RandomBM}].Label} ${bm_index[${RandomBM}].Distance}",LOG_DEBUG]
111 | return ${bm_index[${RandomBM}].ID}
112 | }
113 |
114 | }
--------------------------------------------------------------------------------
/Branches/Stable/core/obj_Compress.iss:
--------------------------------------------------------------------------------
1 | /*
2 | Compression Class
3 |
4 | Interacting with ore in space
5 |
6 | BUGS:
7 |
8 | */
9 |
10 | objectdef obj_Compress inherits obj_BaseClass
11 | {
12 | method Initialize()
13 | {
14 | LogPrefix:Set["${This.ObjectName}"]
15 | Logger:Log["obj_Compress: Initialized", LOG_MINOR]
16 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR]
17 | }
18 |
19 | function CheckForCompression()
20 | {
21 | Logger:Log["Debug: Loading Check for compression"]
22 |
23 | while ${Me.InSpace}
24 | {
25 | Logger:Log["Debug: Lets check if the inventory window is open"]
26 | if !${EVEWindow[Inventory](exists)}
27 | {
28 | echo "Opening Inventory..."
29 | EVE:Execute[OpenInventory]
30 | wait 10
31 | }
32 | Logger:Log["Debug: Lets make our ore hold the active window"]
33 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipGeneralMiningHold]:MakeActive
34 | wait 50
35 |
36 | Logger:Log["Debug: Lets lets add everything in our ore hold to a list of items"]
37 |
38 | variable index:item MyOre
39 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipGeneralMiningHold]:GetItems[MyOre]
40 | wait 10
41 | echo "Compiling Ore In Hold"
42 | Logger:Log["Debug: Ship Mining Hold contains ${MyOre.Used}"]
43 | Logger:Log["Debug: Now that we have a list lets set it to an iterator"]
44 |
45 | variable iterator OreIterator
46 | MyOre:GetIterator[OreIterator]
47 | wait 10
48 | Logger:Log["Debug: #1"]
49 | if ${OreIterator:First(exists)}
50 | {
51 | Logger:Log["Debug: Iterator shows it has items in its list lets check if we can open the compression window"]
52 | do
53 | {
54 | echo "Open compression window"
55 | OreIterator.Value:Compress
56 | wait 10
57 | }
58 | while ${OreIterator:Next(exists)}
59 | wait 10
60 | wait ${Math.Rand[30]}
61 | Logger:Log["Debug: Lets Try To Compress"]
62 | EVEWindow[ByCaption, Compression].Button[compress_button]:Press
63 | wait 16
64 | wait ${Math.Rand[30]}
65 | Logger:Log["Debug: Lets close the window"]
66 | EVEWindow[ByCaption, Compression].Button[cancel_button]:Press
67 | }
68 | break
69 | }
70 |
71 | }
72 | }
--------------------------------------------------------------------------------
/Branches/Stable/core/obj_Items.iss:
--------------------------------------------------------------------------------
1 | objectdef obj_EVEDB_Items
2 | {
3 | variable string CONFIG_FILE = "${BaseConfig.CONFIG_PATH}/EVEDB_Items.xml"
4 | variable string SET_NAME = "EVEDB_Items"
5 |
6 | method Initialize()
7 | {
8 | LavishSettings[${This.SET_NAME}]:Remove
9 | LavishSettings:Import[${This.CONFIG_FILE}]
10 |
11 | Logger:Log["obj_EVEDB_Items: Initialized", LOG_MINOR]
12 | }
13 |
14 | method Shutdown()
15 | {
16 | LavishSettings[${This.SET_NAME}]:Remove
17 | }
18 |
19 | member:int TypeID(string itemName)
20 | {
21 | variable iterator anIterator
22 |
23 | LavishSettings[${This.SET_NAME}]:GetSettingIterator[anIterator]
24 |
25 | if ${anIterator:First(exists)}
26 | {
27 | do
28 | {
29 | if ${anIterator.Value.FindAttribute[ItemName, NOTSET].String.Equal[${itemName}]}
30 | {
31 | return ${anIterator.Key}
32 | }
33 | }
34 | while ${anIterator:Next(exists)}
35 | }
36 |
37 | return NULL
38 | }
39 |
40 | member:string Name(int TypeID)
41 | {
42 | return ${LavishSettings[${This.SET_NAME}].FindSetting[${TypeID}].FindAttribute[ItemName, NOTSET]}
43 | }
44 |
45 | member:int Metalevel(int TypeID)
46 | {
47 | return ${LavishSettings[${This.SET_NAME}].FindSetting[${TypeID}].FindAttribute[Metalevel, NOTSET]}
48 | }
49 |
50 | member:int GroupID(int TypeID)
51 | {
52 | return ${LavishSettings[${This.SET_NAME}].FindSetting[${TypeID}].FindAttribute[GroupID, NOTSET]}
53 | }
54 |
55 | member:float Volume(int TypeID)
56 | {
57 | return ${LavishSettings[${This.SET_NAME}].FindSetting[${TypeID}].FindAttribute[Volume, NOTSET]}
58 | }
59 |
60 | member:int Capacity(int TypeID)
61 | {
62 | return ${LavishSettings[${This.SET_NAME}].FindSetting[${TypeID}].FindAttribute[Capacity, NOTSET]}
63 | }
64 |
65 | member:int PortionSize(int TypeID)
66 | {
67 | return ${LavishSettings[${This.SET_NAME}].FindSetting[${TypeID}].FindAttribute[PortionSize, NOTSET]}
68 | }
69 |
70 | member:float BasePrice(int TypeID)
71 | {
72 | return ${LavishSettings[${This.SET_NAME}].FindSetting[${TypeID}].FindAttribute[BasePrice, NOTSET]}
73 | }
74 |
75 | member:float WeaponRangeMultiplier(int TypeID)
76 | {
77 | return ${LavishSettings[${This.SET_NAME}].FindSetting[${TypeID}].FindAttribute[weaponRangeMultiplier, 0]}
78 | }
79 | }
80 |
81 |
--------------------------------------------------------------------------------
/Branches/Stable/core/obj_Sound.iss:
--------------------------------------------------------------------------------
1 | /*
2 | Sound class
3 |
4 | Object to handle playing sounds.
5 |
6 | -- GliderPro
7 |
8 | */
9 |
10 | objectdef obj_Sound
11 | {
12 | variable int m_LastSoundTime
13 | variable int m_SoundDelay
14 |
15 | method Initialize()
16 | {
17 | m_LastSoundTime:Set[${LavishScript.RunningTime}]
18 | m_SoundDelay:Set[15000] /* milliseconds */
19 | uplink Speech:Initialize
20 |
21 | Logger:Log["obj_Sound: Initialized", LOG_MINOR]
22 | }
23 |
24 | function PlaySound(string Filename)
25 | {
26 | if !${Config.Common.UseSound}
27 | return
28 |
29 | if ${Math.Calc64[${m_LastSoundTime} + ${m_SoundDelay}]} < ${LavishScript.RunningTime}
30 | {
31 | PlaySound "${Filename}"
32 | ;System:APICall[${System.GetProcAddress[WinMM.dll,PlaySound].Hex},Filename.String,0,"Math.Dec[22001]"]
33 | m_LastSoundTime:Set[${LavishScript.RunningTime}]
34 | }
35 | }
36 |
37 | function PlayAlarmSound()
38 | {
39 | call This.PlaySound ALARMSOUND
40 | }
41 |
42 | function PlayDetectSound()
43 | {
44 | call This.PlaySound DETECTSOUND
45 | }
46 |
47 | function PlayTellSound()
48 | {
49 | call This.PlaySound TELLSOUND
50 | }
51 |
52 | function PlayLevelSound()
53 | {
54 | call This.PlaySound LEVELSOUND
55 | }
56 |
57 | function PlayWarningSound()
58 | {
59 | call This.PlaySound WARNSOUND
60 | }
61 |
62 | method Speak(string Phrase, float speed=0.7)
63 | {
64 | if !${Config.Common.UseSound}
65 | return
66 |
67 | ; Spelling below is to help the speech engine prononce it right since we don't have PromptBuilder support for the speech SDK in IS
68 | uplink Speech:Speak[-speed,${Speed},"EEVEBautt: ${Phrase}"]
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/Button-Up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Button-Up.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/CheckBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/CheckBox.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/ComboBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/ComboBox.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/Unused/MainWindow-Bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/MainWindow-Bottom.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/Unused/MainWindow-TopTitleBar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/MainWindow-TopTitleBar.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/Unused/button_about.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/button_about.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/Unused/button_combat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/button_combat.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/Unused/button_fitting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/button_fitting.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/Unused/button_main.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/button_main.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/Unused/button_market.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/button_market.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/Unused/button_mining.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/button_mining.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/Unused/button_options.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/button_options.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/Unused/button_skills.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/button_skills.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/button_close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_close.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/button_empty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_empty.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/button_empty_highlight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_empty_highlight.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/button_empty_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_empty_selected.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/button_fill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_fill.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/button_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_left.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/button_left_long.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_left_long.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/button_minimize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_minimize.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/button_pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_pause.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/button_plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_plus.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/button_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_right.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/button_right_long.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_right_long.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/button_run.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_run.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/optionswindow_main.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/optionswindow_main.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/optionswindow_titlebar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/optionswindow_titlebar.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/MainGUI/tab_frametexture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/tab_frametexture.png
--------------------------------------------------------------------------------
/Branches/Stable/interface/eveskin/ui_sample.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/ui_sample.png
--------------------------------------------------------------------------------
/Branches/Stable/sounds/alarm.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/sounds/alarm.wav
--------------------------------------------------------------------------------
/Branches/Stable/sounds/death.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/sounds/death.wav
--------------------------------------------------------------------------------
/Branches/Stable/sounds/detect.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/sounds/detect.wav
--------------------------------------------------------------------------------
/Branches/Stable/sounds/level.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/sounds/level.wav
--------------------------------------------------------------------------------
/Branches/Stable/sounds/taps.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/sounds/taps.wav
--------------------------------------------------------------------------------
/Branches/Stable/sounds/tell.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/sounds/tell.wav
--------------------------------------------------------------------------------
/Branches/Stable/sounds/warning.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/sounds/warning.wav
--------------------------------------------------------------------------------
/Config/Config_Templates/Launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | username1
7 | password1
8 | 0
9 |
10 |
11 |
12 |
13 | username2
14 | password2
15 | 0
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/EVEBot.code-workspace:
--------------------------------------------------------------------------------
1 | {
2 | "folders": [
3 | {
4 | "path": "."
5 | },
6 | {
7 | "path": "Testcases"
8 | },
9 | {
10 | "path": "External"
11 | },
12 | {
13 | "path": "Branches\\Stable"
14 | },
15 | {
16 | "path": "Branches\\Dev"
17 | },
18 | {
19 | "path": "..\\AbyssalMonkey"
20 | }
21 | ],
22 | "settings": {
23 | "files.exclude": {
24 | // ...
25 | // Exclude the main folders (included as workspace folders)
26 | "Testcases": true,
27 | "External": true,
28 | "Branches\\Stable": true,
29 | "Branches\\Dev": true,
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/EVECallback.iss:
--------------------------------------------------------------------------------
1 | /* EveCallback.iss - Contain the callback for the eve sessions for detecting a crash. */
2 |
3 | /* Global instance of obj_EveCallback for the callback. */
4 | variable(global) obj_EveCallback EVECallback
5 | #define DEBUG TRUE
6 |
7 | /* Main entry point. */
8 | function main(... Params)
9 | {
10 | if DEBUG
11 | {
12 | echo "EveCallback Loaded"
13 | }
14 | while TRUE
15 | {
16 | waitframe
17 | }
18 | }
19 |
20 | objectdef obj_EveCallback
21 | {
22 | /* Do nothing to initialize. */
23 | method Initialize()
24 | {
25 |
26 | }
27 |
28 | /* Do the callback. Relay the function call to the uplink,
29 | which will have a global atom for the check. */
30 | method DoCallback()
31 | {
32 | if ${ISXEVE.Version} > 0
33 | {
34 | if DEBUG
35 | {
36 | echo "EveCallback.iss: Relaying \"uplink EVEWatcher:Update[${Session},${Me.Name}]\""
37 | }
38 | uplink EVEWatcher:Update[${Session},${Me.Name}]
39 | }
40 | else
41 | {
42 | echo "EveCallback.iss: EVE not detected."
43 | }
44 | }
45 | }
--------------------------------------------------------------------------------
/External/EVEAbandon/EveAbandon.iss:
--------------------------------------------------------------------------------
1 | function main()
2 | {
3 | variable index:entity Wrecks
4 | variable int count
5 | ui -load ./eveabandon.xml
6 | while ${UIElement[EVEAbandon].Visible}
7 | {
8 | if ${UIElement[EVEAbandon].FindUsableChild[AutoAbandon,checkbox].Checked}
9 | {
10 | Wrecks:Clear
11 | EVE:QueryEntities[Wrecks,HaveLootRights = TRUE && IsAbandoned = FALSE && GroupID = 186]
12 | echo Wrecks: ${Wrecks.Used}
13 | /* scan through and check for any non-abandoned wreck */
14 | for ( count:Set[1] ; ${count} <= ${Wrecks.Used} ; count:Inc )
15 | {
16 | Wrecks[${count}]:AbandonAll
17 | break
18 | }
19 | wait 100 !${UIElement[EVEAbandon].Visible}
20 | }
21 | waitframe
22 | }
23 | }
24 |
25 | function atexit()
26 | {
27 | UIElement[EVEAbandon]:Destroy
28 | }
29 |
--------------------------------------------------------------------------------
/External/EVEAbandon/EveAbandon.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 200
5 | 200
6 | 140
7 | 50
8 | Auto-Abandon
9 |
10 |
11 | 10
12 | 10
13 | 120
14 | 20
15 | Abandon wrecks?
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/External/EVEBots_dotNET/C# stuff/EveBots.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 10.00
3 | # Visual Studio 2008
4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EveBots", "EveBots\EveBots.csproj", "{B77FAB76-6E4F-4E25-89B2-F9B5490DECA2}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Any CPU = Debug|Any CPU
9 | Release|Any CPU = Release|Any CPU
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {B77FAB76-6E4F-4E25-89B2-F9B5490DECA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
13 | {B77FAB76-6E4F-4E25-89B2-F9B5490DECA2}.Debug|Any CPU.Build.0 = Debug|Any CPU
14 | {B77FAB76-6E4F-4E25-89B2-F9B5490DECA2}.Release|Any CPU.ActiveCfg = Release|Any CPU
15 | {B77FAB76-6E4F-4E25-89B2-F9B5490DECA2}.Release|Any CPU.Build.0 = Release|Any CPU
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | EndGlobal
21 |
--------------------------------------------------------------------------------
/External/EVEBots_dotNET/C# stuff/EveBots/ClientsWindow.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace EveBots
2 | {
3 | partial class ClientsWindow
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Component Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.listView1 = new System.Windows.Forms.ListView();
32 | this.SuspendLayout();
33 | //
34 | // listView1
35 | //
36 | this.listView1.Dock = System.Windows.Forms.DockStyle.Fill;
37 | this.listView1.FullRowSelect = true;
38 | this.listView1.HideSelection = false;
39 | this.listView1.Location = new System.Drawing.Point(0, 0);
40 | this.listView1.Name = "listView1";
41 | this.listView1.Size = new System.Drawing.Size(831, 366);
42 | this.listView1.TabIndex = 0;
43 | this.listView1.UseCompatibleStateImageBehavior = false;
44 | this.listView1.View = System.Windows.Forms.View.Details;
45 | //
46 | // ClientsWindow
47 | //
48 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
49 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
50 | this.Controls.Add(this.listView1);
51 | this.Name = "ClientsWindow";
52 | this.Size = new System.Drawing.Size(831, 366);
53 | this.ResumeLayout(false);
54 |
55 | }
56 |
57 | #endregion
58 |
59 | private System.Windows.Forms.ListView listView1;
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/External/EVEBots_dotNET/C# stuff/EveBots/ClientsWindow.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Drawing;
5 | using System.Data;
6 | using System.Text;
7 | using System.Windows.Forms;
8 | using System.Reflection;
9 |
10 | namespace EveBots
11 | {
12 | public partial class ClientsWindow : UserControl
13 | {
14 | private int _clientCount;
15 |
16 | private Dictionary _clientTable = new Dictionary();
17 | private List _clientProperties;
18 | public ClientsWindow()
19 | {
20 | InitializeComponent();
21 | _clientProperties = new List();
22 | Type type = typeof(Session);
23 | foreach (PropertyInfo propertyInfo in type.GetProperties())
24 | {
25 | _clientProperties.Add(propertyInfo.Name);
26 | listView1.Columns.Add(propertyInfo.Name);
27 | }
28 | this.DoubleBuffered = true;
29 | }
30 | public void AddClient(Session client)
31 | {
32 | _clientCount++;
33 | ListViewItem newClient = new ListViewItem();
34 | foreach (string propertyName in _clientProperties)
35 | {
36 | if (propertyName.Equals("Name"))
37 | {
38 | newClient.Name = client.Name;
39 | newClient.Text = client.Name;
40 | }
41 | else
42 | {
43 | System.Windows.Forms.ListViewItem.ListViewSubItem subItem = new ListViewItem.ListViewSubItem();
44 | subItem.Name = propertyName;
45 | subItem.Text = "-";
46 | newClient.SubItems.Add(subItem);
47 | }
48 | }
49 | listView1.BeginUpdate();
50 | listView1.Items.Add(newClient);
51 | listView1.EndUpdate();
52 | _clientTable.Add(newClient, client);
53 | }
54 | public void UpdateClients()
55 | {
56 | listView1.BeginUpdate();
57 | foreach (ListViewItem lvi in listView1.Items)
58 | {
59 | lvi.SubItems["ArmorPct"].Text = _clientTable[lvi].ArmorPct.ToString();
60 | lvi.SubItems["ShieldPct"].Text = _clientTable[lvi].ShieldPct.ToString();
61 | lvi.SubItems["CapacitorPct"].Text = _clientTable[lvi].CapacitorPct.ToString();
62 | lvi.SubItems["Launched"].Text = _clientTable[lvi].Launched.ToString();
63 | lvi.SubItems["Hiding"].Text = _clientTable[lvi].Hiding.ToString();
64 | lvi.SubItems["BotMode"].Text = _clientTable[lvi].BotMode;
65 | lvi.SubItems["Ship"].Text = _clientTable[lvi].Ship;
66 | lvi.SubItems["Crashes"].Text = _clientTable[lvi].Crashes.ToString();
67 | lvi.SubItems["LastUpdate"].Text = _clientTable[lvi].LastUpdate.ToLongTimeString();
68 | lvi.SubItems["SessionName"].Text = _clientTable[lvi].SessionName;
69 | lvi.SubItems["Status"].Text = _clientTable[lvi].Status.ToString();
70 | lvi.SubItems["Currentarget"].Text = _clientTable[lvi].Currentarget;
71 | lvi.Text = _clientTable[lvi].Name;
72 | lvi.Name = _clientTable[lvi].Name;
73 | }
74 | listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
75 | listView1.EndUpdate();
76 | }
77 | }
78 | }
--------------------------------------------------------------------------------
/External/EVEBots_dotNET/C# stuff/EveBots/EVEWatcher.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 | using LavishScriptAPI;
5 |
6 | namespace EveBots
7 | {
8 | public class EVEWatcher : LavishScriptObject
9 | {
10 | public EVEWatcher(LavishScriptObject obj)
11 | : base(obj)
12 | {
13 | }
14 | public void ResetCalledBack()
15 | {
16 | ExecuteMethod("ResetCalledBack");
17 | }
18 | public void CloseSessions()
19 | {
20 | ExecuteMethod("CloseSessions");
21 | }
22 | public void DumpSession()
23 | {
24 | ExecuteMethod("DumpSession");
25 | }
26 | public void DumpCalledBack()
27 | {
28 | ExecuteMethod("DumpCalledBack");
29 | }
30 | public void DumpLastUpdate()
31 | {
32 | ExecuteMethod("DumpLastUpdate");
33 | }
34 | public string Test()
35 | {
36 | return GetMember("Testu");
37 | }
38 |
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/External/EVEBots_dotNET/C# stuff/EveBots/MainInterface.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace EveBots
2 | {
3 | partial class MainInterface
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainInterface));
32 | this.panel1 = new System.Windows.Forms.Panel();
33 | this.botControl1 = new EveBots.BotControl();
34 | this.panel1.SuspendLayout();
35 | this.SuspendLayout();
36 | //
37 | // panel1
38 | //
39 | this.panel1.Controls.Add(this.botControl1);
40 | this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
41 | this.panel1.Location = new System.Drawing.Point(0, 0);
42 | this.panel1.Name = "panel1";
43 | this.panel1.Size = new System.Drawing.Size(758, 418);
44 | this.panel1.TabIndex = 0;
45 | //
46 | // botControl1
47 | //
48 | this.botControl1.Dock = System.Windows.Forms.DockStyle.Fill;
49 | this.botControl1.Location = new System.Drawing.Point(0, 0);
50 | this.botControl1.Name = "botControl1";
51 | this.botControl1.Size = new System.Drawing.Size(758, 418);
52 | this.botControl1.TabIndex = 0;
53 | //
54 | // MainInterface
55 | //
56 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
57 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
58 | this.ClientSize = new System.Drawing.Size(758, 418);
59 | this.Controls.Add(this.panel1);
60 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
61 | this.Name = "MainInterface";
62 | this.Text = "EVEBots";
63 | this.panel1.ResumeLayout(false);
64 | this.ResumeLayout(false);
65 |
66 | }
67 |
68 | #endregion
69 |
70 | private System.Windows.Forms.Panel panel1;
71 | private BotControl botControl1;
72 |
73 | }
74 | }
75 |
76 |
--------------------------------------------------------------------------------
/External/EVEBots_dotNET/C# stuff/EveBots/MainInterface.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Text;
7 | using System.Windows.Forms;
8 | using LavishScriptAPI;
9 | using LavishVMAPI;
10 |
11 |
12 | namespace EveBots
13 | {
14 | public partial class MainInterface : Form
15 | {
16 | protected ClientsWindow _clientsWindow = new ClientsWindow();
17 | protected ProfileControl _profileControl = new ProfileControl();
18 |
19 | public MainInterface()
20 | {
21 | InitializeComponent();
22 |
23 | this.panel1.Controls.Add(_profileControl);
24 | _profileControl.Dock = DockStyle.Fill;
25 |
26 | }
27 |
28 |
29 | public int UpdateClient(string[] args)
30 | {
31 |
32 | this.Invalidate();
33 | return 1;
34 |
35 | }
36 |
37 |
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/External/EVEBots_dotNET/C# stuff/EveBots/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Windows.Forms;
4 |
5 | namespace EveBots
6 | {
7 | static class Program
8 | {
9 | ///
10 | /// The main entry point for the application.
11 | ///
12 | [STAThread]
13 | static void Main()
14 | {
15 | Application.EnableVisualStyles();
16 | Application.SetCompatibleTextRenderingDefault(false);
17 | Application.Run(new MainInterface());
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/External/EVEBots_dotNET/EveBots.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/External/EVEBots_dotNET/EveBots.exe
--------------------------------------------------------------------------------
/External/EVEBots_dotNET/READ ME.txt:
--------------------------------------------------------------------------------
1 | ~~EVEBOTS Version 0.1 ~
2 |
3 | You MUST have isboxer installed to use this! Get it from http://www.lavishsoft.com/wiki/index.php/IS:ISBoxer
4 |
5 | EVEBOTS requires you set up the following
6 |
7 | 1.The launcher script , instructions here http://eve.isxgames.com/wiki/index.php?title=Autologin
8 | You must set up a launcher profile for each character you wish to use
9 | 2. Innerspace profiles , you need to add a new innerspace profile for every character you wish to use
10 | in the startup sequence you have to add "run evebot/launcher YOURCHARACTERNAME"
11 | 3. An isboxer profile set up with a charset filled with the characters you want to use, make sure you set up each character to use the correct profile
12 | 4. For each character find evebot/config/yourcharacter.xml , replace the line "FALSE" with "TRUE"
13 | 5. Compile the project in the C# stuff directory using visual studio 2008 and place the evebots executable in innerspace/.NET Programs directory
14 |
15 |
16 | Once this is done simply type "dotnet evebots" into your innerspace console *the innerspace console NOT the one in eve , its the one you get when you double click on the innerspace icon in your system tray
17 |
--------------------------------------------------------------------------------
/External/OrePriority/OrePriority.iss:
--------------------------------------------------------------------------------
1 | function main()
2 | {
3 | if !${Script[evebot](exists)}
4 | {
5 | echo Error: OrePriority requires EVEBot to be running.
6 | return
7 | }
8 | ui -load "${Script.CurrentDirectory}/OrePriorityUI.xml"
9 | while ${UIElement[OrePriority].Visible} && ${Script[evebot](exists)}
10 | wait 1
11 | }
12 | function atexit()
13 | {
14 | if ${UIElement[OrePriority](exists)}
15 | UIElement[OrePriority]:Destroy
16 | }
17 |
--------------------------------------------------------------------------------
/External/OrePriority/readme.txt:
--------------------------------------------------------------------------------
1 | http://www.isxgames.com/forums/showthread.php/5543-OrePriority-On-the-fly-priority-change!-For-EVEBot-Stable-or-Stable_Beta
2 |
3 | OrePriority -- On the fly priority change! For EVEBot Stable or Stable_Beta
4 |
5 | Simple script, simple concept. Provides a UI to change priority and types of ore you wish to mine.
6 |
7 | Extract both files from the zip into scripts folder, or scripts/evebot folder, and run orepriority.iss after running EVEBot.
8 | EVEBot *MUST* be running for this script to function, but does not need to be "started".
9 |
10 | Highlight ores you wish to mine, using ctrl+click for multi-select. As soon as you click the Update button, the priorities will be
11 | hanged in the running EVEBot. EVEBot will then save them to your config file when closed.
12 |
13 | You may drag lines to sort them in the order you wish to mine. The bot will mine from top to bottom.
14 |
15 | Please note that I will not be supporting this script, and I am releasing it on an as-is basis. There may be bugs, but in general
16 | this worked for me every time I used it.
17 |
18 | -- Valarian
--------------------------------------------------------------------------------
/External/evecmd/Globals.cs:
--------------------------------------------------------------------------------
1 | // Copyright 2009 Francis Crick fcrick@gmail.com
2 | // License: http://creativecommons.org/licenses/by-nc-sa/3.0/us/
3 |
4 | using System;
5 | using System.Text;
6 | using EVE.ISXEVE;
7 | using InnerSpaceAPI;
8 |
9 | namespace evecmd
10 | {
11 | public class g
12 | {
13 | // these are already singletons, so we're just exposing them easier
14 | public static EVE.ISXEVE.EVE eve = null;
15 | public static EVE.ISXEVE.Me me = null;
16 | public static EVE.ISXEVE.ISXEVE isxeve = null;
17 | public static void Print(string format, params object[] args)
18 | {
19 | InnerSpace.Echo(String.Format(format, args));
20 | }
21 | }
22 | }
--------------------------------------------------------------------------------
/External/evecmd/MissionPage.cs:
--------------------------------------------------------------------------------
1 | // Copyright 2009 Francis Crick fcrick@gmail.com
2 | // License: http://creativecommons.org/licenses/by-nc-sa/3.0/us/
3 |
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using LavishScriptAPI;
9 | using LavishVMAPI;
10 | using InnerSpaceAPI;
11 | using EVE.ISXEVE;
12 |
13 | namespace evecmd
14 | {
15 | class MissionPage
16 | {
17 | string doc;
18 |
19 | // give this the HTML from a mission window, and it will allow
20 | // you to access various things from it
21 | public MissionPage(string html)
22 | {
23 | doc = html;
24 | }
25 |
26 | public string Title
27 | {
28 | get
29 | {
30 | int start = doc.IndexOf("") + "".Length;
31 | int end = doc.IndexOf("");
32 |
33 | return doc.Substring(start, end - start);
34 | }
35 | }
36 |
37 | public int CargoID
38 | {
39 | get
40 | {
41 | int start = doc.IndexOf("
0)
82 | {
83 | Page = new MissionPage(window.HTML);
84 | SetDone("Success");
85 | return false;
86 | }
87 |
88 | // try opening the page if we haven't tried already
89 | if (!tried_opening)
90 | {
91 | // TODO: maybe check if the return value of this matters
92 | Util.FindMission(agent_id).GetDetails();
93 | tried_opening = true;
94 | }
95 | return true;
96 | }
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/External/evecmd/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("evecmd")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("evecmd")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2009")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("3a439207-403e-4bd6-9e42-01cccaab452e")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/External/evecmd/evecmd.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 11.00
3 | # Visual Studio 2010
4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "evecmd", "evecmd.csproj", "{9988B7E1-9389-4AE5-92E8-C4580A08E6B6}"
5 | EndProject
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EVE.ISXEVE", "..\..\..\..\ISXEVEWrapper\branches\Beta\EVE.ISXEVE.csproj", "{A9583204-C40D-4496-BB62-0F9546E5D613}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {9988B7E1-9389-4AE5-92E8-C4580A08E6B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {9988B7E1-9389-4AE5-92E8-C4580A08E6B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {9988B7E1-9389-4AE5-92E8-C4580A08E6B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {9988B7E1-9389-4AE5-92E8-C4580A08E6B6}.Release|Any CPU.Build.0 = Release|Any CPU
18 | {A9583204-C40D-4496-BB62-0F9546E5D613}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
19 | {A9583204-C40D-4496-BB62-0F9546E5D613}.Debug|Any CPU.Build.0 = Debug|Any CPU
20 | {A9583204-C40D-4496-BB62-0F9546E5D613}.Release|Any CPU.ActiveCfg = Release|Any CPU
21 | {A9583204-C40D-4496-BB62-0F9546E5D613}.Release|Any CPU.Build.0 = Release|Any CPU
22 | EndGlobalSection
23 | GlobalSection(SolutionProperties) = preSolution
24 | HideSolutionNode = FALSE
25 | EndGlobalSection
26 | EndGlobal
27 |
--------------------------------------------------------------------------------
/External/isxScripts/obj_LSQuery.iss:
--------------------------------------------------------------------------------
1 | /*
2 | obj_LSQuery by CyberTech
3 |
4 | Provides a class to cache commonly used Lavishscript Queries without needing to delete and
5 | recreate the query every time it is needed.
6 |
7 | See: http://www.lavishsoft.com/wiki/index.php/LavishScript:Object_Queries
8 |
9 | Queries are created and stored in obj_LSQuery, which will call FreeQuery on the query during shutdown
10 |
11 | obj_LSQueryCache stores a collection of obj_LSQuery, indexed by the query string.
12 |
13 | obj_LSQuery may be used directly, for specialized cases.
14 |
15 | Example:
16 |
17 | variable obj_LSQueryCache LSQueryCache
18 | variable uint Loop = 20
19 |
20 | while ${Loop:Dec}
21 | {
22 | echo ${LSQueryCache["Name = Fred"]}
23 | echo ${LSQueryCache["Name = Fred1"]}
24 | }
25 |
26 | -- CyberTech (cybertech@gmail.com
27 | */
28 |
29 | objectdef obj_LSQuery
30 | {
31 | variable uint ID
32 |
33 | member Initialize(uint _ID)
34 | {
35 | ID:Set[${_ID}]
36 | }
37 |
38 | member ToText()
39 | {
40 | return ${This.ID}
41 | }
42 |
43 | method Shutdown()
44 | {
45 | LavishScript:FreeQuery[${This.ID}]
46 | }
47 | }
48 |
49 | objectdef obj_LSQueryCache
50 | {
51 | variable collection:obj_LSQuery Queries
52 |
53 | ; This checks the collection for an existing query, or, failing that, creates a new query and stores it for future use
54 | ; Returns 0 on error
55 | member:uint GetIndex(string QueryStr)
56 | {
57 | variable uint QueryID = 0
58 |
59 | if ${Queries.Element[${QueryStr}](exists)}
60 | {
61 | return ${Queries.Element[${QueryStr}].ID}
62 | }
63 | ; Query does not exist yet, we need to create it and return the new ID
64 |
65 | QueryID:Set[${LavishScript.CreateQuery[${QueryStr}]}]
66 | if ${QueryID} == 0
67 | {
68 | if ${Logger(exists)}
69 | {
70 | Logger:Log["obj_LSQueryCache: Failed LavishScript.CreateQuery[${QueryStr}]", LOG_DEBUG]
71 | }
72 | else
73 | {
74 | echo "obj_LSQueryCache: Failed LavishScript.CreateQuery[${QueryStr}]"
75 | }
76 | return 0
77 | }
78 |
79 | declarevariable NewQuery obj_LSQuery
80 | Queries:Set[${QueryStr}, ${NewQuery}]
81 | Queries.Element[${QueryStr}].ID:Set[${QueryID}]
82 |
83 | return ${QueryID}
84 | }
85 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # EVEBot
2 | EVEBot - An ISXEVE Based bot for EVE Online
3 |
4 | Wiki @ https://forge.isxgames.com/projects/isxeve/wiki/EVEBot
5 |
6 | See also: https://forge.isxgames.com/projects/isxeve/wiki/EVEBot_for_Dummies
7 |
--------------------------------------------------------------------------------
/Support/TestAPI.iss:
--------------------------------------------------------------------------------
1 | /*
2 | TestAPI
3 |
4 | Minimal copies of EVEBot objects required to do standalone testing of various evebot objects
5 |
6 | -- CyberTech
7 | */
8 |
9 | #define TESTAPI_DEBUG 1
10 |
11 | #include ../Branches/Stable/core/defines.iss
12 | #include ../Branches/Stable/core/obj_IRC.iss
13 | ;#include ../External/isxScripts/obj_PulseTimer.iss
14 | ;#include ../Branches/Dev/core/Lib/obj_BaseClass.iss
15 | #include ../External/isxScripts/obj_LSTypeIterator.iss
16 |
17 | objectdef obj_UI
18 | {
19 | variable string LogFile
20 |
21 | method Initialize()
22 | {
23 | This.LogFile:Set["./Logs/TestAPI_${Script.Filename}.log"]
24 |
25 | redirect -append "${This.LogFile}" echo "--------------------------------------------------------------------------------------"
26 | redirect -append "${This.LogFile}" echo "** ${Script.Filename} starting on ${Time.Date} at ${Time.Time24}"
27 | }
28 |
29 | method Log(string StatusMessage, int Level=LOG_STANDARD, int Indent=0)
30 | {
31 | This:UpdateConsole["${StatusMessage}",${Level},${Indent}]
32 | }
33 |
34 | method UpdateConsole(string StatusMessage, int Level=LOG_STANDARD, int Indent=0)
35 | {
36 | /*
37 | Level = LOG_MINOR - Minor - Log, do not print to screen.
38 | Level = LOG_STANDARD - Standard, Log and Print to Screen
39 | Level = LOG_CRITICAL - Critical, Log, Log to Critical Log, and print to screen
40 | */
41 | variable string msg
42 | variable int Count
43 |
44 | if ${StatusMessage(exists)}
45 | {
46 | if ${Level} == LOG_DEBUG && TESTAPI_DEBUG == 0
47 | {
48 | return
49 | }
50 |
51 | msg:Set["${Time.Time24}: "]
52 |
53 | for (Count:Set[1]; ${Count}<=${Indent}; Count:Inc)
54 | {
55 | msg:Concat[" "]
56 | }
57 | msg:Concat["${StatusMessage}"]
58 |
59 | echo ${msg}
60 |
61 | redirect -append "${This.LogFile}" Echo "${msg}"
62 | }
63 | }
64 |
65 | }
66 |
67 | variable obj_UI UI
68 | variable obj_UI Logger
69 | variable obj_IRC ChatIRC
--------------------------------------------------------------------------------
/Support/obj_AutoPatcher.iss:
--------------------------------------------------------------------------------
1 | /*
2 | AutoPatcher Class
3 |
4 | Handles calling ISXGamesPatcher for EVEBot
5 |
6 | -- CyberTech
7 | */
8 |
9 | objectdef obj_AutoPatcher
10 | {
11 | variable bool UpdatePerformed = FALSE
12 | variable bool UpdaterFinished = FALSE
13 |
14 | method Initialize()
15 | {
16 | UI:UpdateConsole["obj_AutoPatcher: Running"]
17 | if ${currentPath.FileExists[${APP_PATH}.nopatch]}
18 | {
19 | echo "${APP_NAME}: Development setup, no auto-update"
20 | return
21 | }
22 |
23 | echo "${APP_NAME}: Running patch checker for Updates"
24 | if ${Config.Common.UseDevelopmentBuild}
25 | {
26 | dotnet ${APP_NAME} isxGamesPatcher ${APP_NAME} ${APP_VERSION} ${APP_MANIFEST_TRUNK}
27 | }
28 | else
29 | {
30 | dotnet ${APP_NAME} isxGamesPatcher ${APP_NAME} ${APP_VERSION} ${APP_MANIFEST}
31 | }
32 |
33 | TimedCommand 60 Script[EVEBot].VariableScope.AutoPatcher:EVEBot_ForceComplete
34 | while !${This.UpdaterFinished}
35 | {
36 | wait 10
37 | }
38 |
39 | ; Check to see if we have updated, if so restart
40 | if ${This.UpdatePerformed}
41 | {
42 | echo "${APP_NAME} updated, restarting in 5 seconds"
43 | TimedCommand 50 run evebot/evebot
44 | Script:EndScript
45 | }
46 | }
47 |
48 | /* Detect Script auto-updated files */
49 | method EVEBot_onUpdatedFile(string FilePath)
50 | {
51 | echo "obj_AutoUpdater: Updated file ${FilePath}"
52 | This.UpdatePerformed:Set[TRUE]
53 | }
54 |
55 | method EVEBot_onUpdateError(string Error)
56 | {
57 | echo "obj_AutoUpdater:Error: ${Error}"
58 | }
59 |
60 | method EVEBot_onUpdateComplete()
61 | {
62 | echo "obj_AutoUpdater: Updated of ${APP_NAME} complete"
63 | This.UpdaterFinished:Set[TRUE]
64 | }
65 |
66 | method EVEBot_ForceComplete()
67 | {
68 | echo "obj_AutoUpdater: Updated of ${APP_NAME} aborted, timed out after 60 seconds"
69 | This.UpdaterFinished:Set[TRUE]
70 | }
71 |
72 | }
--------------------------------------------------------------------------------
/Testcases/EVEBot/test_Belts_MarkEmpty.iss:
--------------------------------------------------------------------------------
1 | #define EVEBOT_TESTCASE 1
2 |
3 | ;#include ../../Support/TestAPI.iss
4 | #include ../../Branches/Stable/EVEBot.iss
5 |
6 | /*
7 | * Asteroid Belt iteration and warping
8 | *
9 | * Tests:
10 | * Belts.WarpToNext, Belts:MarkEmpty
11 | *
12 | * Requirements:
13 | * You: In system with asteroid belts
14 |
15 | */
16 |
17 | function main()
18 | {
19 | cd "../../Branches/Stable/EVEBot.iss"
20 | call evebot_main
21 | while !${EVEBot.Loaded}
22 | {
23 | wait 1
24 | }
25 |
26 | call Station.Undock
27 |
28 | while TRUE
29 | {
30 | echo At Belt: ${Belts.AtBelt} @ Distance: ${Belts.Distance} Total: ${Belts.Total} Named: ${Belts.Name}
31 | call Belts.WarpToNext 150000
32 | Belts:MarkEmpty[]
33 | wait 10
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/Testcases/EVEBot/test_Belts_MarkUnsafe.iss:
--------------------------------------------------------------------------------
1 | #define EVEBOT_TESTCASE 1
2 |
3 | ;#include ../../Support/TestAPI.iss
4 | #include ../../Branches/Stable/EVEBot.iss
5 |
6 | /*
7 | * Asteroid Belt iteration and warping
8 | *
9 | * Tests:
10 | * Belts.WarpToNext, Belts:MarkUnsafe
11 | *
12 | * Requirements:
13 | * You: In system with asteroid belts
14 |
15 | */
16 |
17 | function main()
18 | {
19 | cd "../../Branches/Stable/EVEBot.iss"
20 | call evebot_main
21 | while !${EVEBot.Loaded}
22 | {
23 | wait 1
24 | }
25 |
26 | call Station.Undock
27 |
28 | while TRUE
29 | {
30 | echo At Belt: ${Belts.AtBelt} @ Distance: ${Belts.Distance} Total: ${Belts.Total} Named: ${Belts.Name}
31 | call Belts.WarpToNext 150000
32 | Belts:MarkUnsafe[]
33 | wait 10
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/Testcases/EVEBot/test_Belts_WarpTo.iss:
--------------------------------------------------------------------------------
1 | #define EVEBOT_TESTCASE 1
2 |
3 | ;#include ../../Support/TestAPI.iss
4 | #include ../../Branches/Stable/EVEBot.iss
5 |
6 | /*
7 | * Asteroid Belt iteration and warping
8 | *
9 | * Tests:
10 | * Belts.WarpTo
11 | * Belts:Next
12 | *
13 | * Requirements:
14 | * You: In system with asteroid belts
15 |
16 | */
17 |
18 | function main()
19 | {
20 | cd "../../Branches/Stable/EVEBot.iss"
21 | call evebot_main
22 | while !${EVEBot.Loaded}
23 | {
24 | wait 1
25 | }
26 |
27 | call Station.Undock
28 |
29 | while TRUE
30 | {
31 | call Belts.WarpTo 150000
32 | wait 1
33 | echo At Belt: ${Belts.AtBelt} @ Distance: ${Belts.Distance} Total: ${Belts.Total} Named: ${Belts.Name}
34 | wait 10
35 | Belts:Next
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/Testcases/EVEBot/test_Belts_WarpToNext.iss:
--------------------------------------------------------------------------------
1 | #define EVEBOT_TESTCASE 1
2 |
3 | ;#include ../../Support/TestAPI.iss
4 | #include ../../Branches/Stable/EVEBot.iss
5 |
6 | /*
7 | * Asteroid Belt iteration and warping
8 | *
9 | * Tests:
10 | * Belts.WarpToNext
11 | *
12 | * Requirements:
13 | * You: In system with asteroid belts
14 |
15 | */
16 |
17 | function main()
18 | {
19 | cd "../../Branches/Stable/EVEBot.iss"
20 | call evebot_main
21 | while !${EVEBot.Loaded}
22 | {
23 | wait 1
24 | }
25 |
26 | call Station.Undock
27 |
28 | while TRUE
29 | {
30 | echo At Belt: ${Belts.AtBelt} @ Distance: ${Belts.Distance} Total: ${Belts.Total} Named: ${Belts.Name}
31 | call Belts.WarpToNext 150000
32 | wait 10
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/Testcases/EVEBot/test_Cargo_TransferCargoToHangar.iss:
--------------------------------------------------------------------------------
1 | #define EVEBOT_TESTCASE 1
2 |
3 | ;#include ../../Support/TestAPI.iss
4 | #include ../../Branches/Stable/EVEBot.iss
5 |
6 | /*
7 | Test EVEBot obj_Cargo.TransferCargoToStationHangar
8 |
9 | Requirements:
10 | None
11 |
12 | */
13 |
14 | function main()
15 | {
16 | cd "../../Branches/Stable/EVEBot.iss"
17 | call evebot_main
18 | while !${EVEBot.Loaded}
19 | {
20 | wait 1
21 | }
22 |
23 | echo "obj_Cargo.TransferCargoToStationHangar: Test Case:"
24 |
25 | declarevariable EVEBot obj_EVEBot global
26 | declarevariable Ship obj_Ship global
27 | declarevariable Station obj_Station global
28 | declarevariable Cargo obj_Cargo global
29 |
30 | call Cargo.TransferCargoToStationHangar
31 | }
32 |
--------------------------------------------------------------------------------
/Testcases/EVEBot/test_Cargo_TransferHangarItemToShip.iss:
--------------------------------------------------------------------------------
1 | #define EVEBOT_TESTCASE 1
2 |
3 | ;#include ../../Support/TestAPI.iss
4 | #include ../../Branches/Stable/EVEBot.iss
5 |
6 | /*
7 | Test EVEBot obj_Cargo.TransferHangarItemToShip
8 |
9 | Requirements:
10 | None
11 |
12 | */
13 |
14 | function main()
15 | {
16 | cd "../../Branches/Stable/EVEBot.iss"
17 | call evebot_main
18 | while !${EVEBot.Loaded}
19 | {
20 | wait 1
21 | }
22 |
23 | echo "obj_Cargo.TransferHangarItemToShip: Test Case:"
24 |
25 | declarevariable EVEBot obj_EVEBot global
26 | declarevariable Ship obj_Ship global
27 | declarevariable Station obj_Station global
28 | declarevariable Cargo obj_Cargo global
29 |
30 | call Cargo.TransferHangarItemToShip
31 | }
32 |
--------------------------------------------------------------------------------
/Testcases/EVEBot/test_Cargo_TransferOreToHangar.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | /*
4 | Test EVEBot obj_Cargo.TransferCargoToStationHangar
5 |
6 | Revision $Id$
7 |
8 | Requirements:
9 | None
10 |
11 | */
12 |
13 | #include ../../Support/TestAPI.iss
14 | #include ../../Branches/Stable/core/obj_EVEBot.iss
15 | #include ../../Branches/Stable/core/obj_Drones.iss
16 | #include ../../Branches/Stable/core/obj_Ship.iss
17 | #include ../../Branches/Stable/core/obj_Station.iss
18 | #include ../../Branches/Stable/core/obj_Cargo.iss
19 |
20 |
21 | function main()
22 | {
23 | echo "obj_Cargo.TransferOreToStationHangar: Test Case:"
24 |
25 | declarevariable EVEBot obj_EVEBot global
26 | declarevariable Ship obj_Ship global
27 | declarevariable Station obj_Station global
28 | declarevariable Cargo obj_Cargo global
29 |
30 | call Cargo.TransferOreToStationHangar
31 | }
32 |
--------------------------------------------------------------------------------
/Testcases/EVEBot/test_Cargo_TransferOreToJetCan.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | /*
4 | Test EVEBot obj_Cargo.TransferOreToJetCan
5 |
6 | Revision $Id$
7 |
8 | Requirements:
9 | None
10 |
11 | */
12 |
13 | #include ../../Support/TestAPI.iss
14 | #include ../../Branches/Stable/core/obj_EVEBot.iss
15 | #include ../../Branches/Stable/core/obj_Drones.iss
16 | #include ../../Branches/Stable/core/obj_Ship.iss
17 | #include ../../Branches/Stable/core/obj_Station.iss
18 | #include ../../Branches/Stable/core/obj_Cargo.iss
19 |
20 |
21 | function main()
22 | {
23 | echo "obj_Cargo.TransferOreToJetCan: Test Case:"
24 |
25 | declarevariable EVEBot obj_EVEBot global
26 | declarevariable Ship obj_Ship global
27 | declarevariable Station obj_Station global
28 | declarevariable Cargo obj_Cargo global
29 |
30 | call Cargo.TransferOreToJetCan
31 | }
32 |
--------------------------------------------------------------------------------
/Testcases/EVEBot/test_EntityCache.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | /*
4 | * Test EVEBot EntityCache
5 | *
6 | * Revision $Id$
7 | *
8 | * Requirements:
9 | * In Space
10 | *
11 | */
12 |
13 | #include ../../Support/TestAPI.iss
14 | #include ../Branches/Dev/core/obj_EntityCache.iss
15 |
16 |
17 | function main()
18 | {
19 | Turbo 100
20 | echo "obj_EntityCache: Member Test Case:"
21 |
22 | declarevariable EntityCache obj_EntityCache
23 | variable index:entity Stations
24 |
25 | variable int Entity_Moons
26 | variable int Entity_Stations
27 | variable int Entity_AsteroidBelts
28 | variable int Entity_NPCs
29 | variable int Entity_Defense
30 | variable int Entity_Rats
31 | variable int Entity_Mission
32 | variable int Entity_Asteroids
33 |
34 | ;member:int AddFilter(string Owner, string Filter, float DecaySeconds=0)
35 |
36 | Entity_Stations:Set[${EntityCache.AddFilter["test_evebot_EntityCache", GroupID = GROUP_STATION, 10, \${EntityIterator.Value.GroupID} = GROUP_STATION]}]
37 | Entity_Moons:Set[${EntityCache.AddFilter["test_evebot_EntityCache", GroupID = GROUP_MOON, 11]}]
38 | Entity_AsteroidBelts:Set[${EntityCache.AddFilter["test_evebot_EntityCache", GroupID = GROUP_ASTEROIDBELT, 5]}]
39 | Entity_NPCs:Set[${EntityCache.AddFilter["test_evebot_EntityCache", CategoryID = CATEGORYID_ENTITY && Distance <= 5000, 2]}]
40 | Entity_Defense:Set[${EntityCache.AddFilter["obj_Defense", CategoryID = CATEGORYID_ENTITY, 1.5]}]
41 | Entity_Rats:Set[${EntityCache.AddFilter["obj_Ratter", CategoryID = CATEGORYID_ENTITY && IsNPC = 1 && IsMoribund = 0, 2.0]}]
42 | Entity_Asteroids:Set[${EntityCache.AddFilter["obj_Asteroids", CategoryID = CATEGORYID_ORE, 1.0]}]
43 | variable string QueryString
44 | QueryString:Concat["CategoryID = CATEGORYID_ENTITY"]
45 | QueryString:Concat[" && IsNPC = 1"]
46 | QueryString:Concat[" && IsMoribund = 0"]
47 | QueryString:Concat[" && GroupID != GROUP_LARGECOLLIDABLEOBJECT"]
48 | QueryString:Concat[" && GroupID != GROUP_LARGECOLLIDABLESHIP"]
49 | QueryString:Concat[" && GroupID != GROUP_LARGECOLLIDABLESTRUCTURE"]
50 | QueryString:Concat[" && GroupID != GROUP_SENTRYGUN"]
51 | QueryString:Concat[" && GroupID != GROUP_CONCORDDRONE"]
52 | QueryString:Concat[" && GroupID != GROUP_CUSTOMSOFFICIAL"]
53 | QueryString:Concat[" && GroupID != GROUP_POLICEDRONE"]
54 | QueryString:Concat[" && GroupID != GROUP_CONVOYDRONE"]
55 | QueryString:Concat[" && GroupID != GROUP_FACTIONDRONE"]
56 | QueryString:Concat[" && GroupID != GROUP_BILLBOARD"]
57 | QueryString:Concat[" && GroupID != GROUPID_SPAWN_CONTAINER"]
58 | QueryString:Concat[" && GroupID != GROUP_DEADSPACEOVERSEERSSTRUCTURE"]
59 |
60 | Entity_Mission:Set[${EntityCache.AddFilter["obj_MissionCommands", ${QueryString}, 1.0]}]
61 |
62 | while 1
63 | {
64 | wait 10
65 | echo Entity_Stations: ${EntityCache.Count[${Entity_Stations}]}
66 | echo Entity_Moons: ${EntityCache.Count[${Entity_Moons}]}
67 | echo Entity_AsteroidBelts: ${EntityCache.Count[${Entity_AsteroidBelts}]}
68 | echo Entity_NPCs: ${EntityCache.Count[${Entity_NPCs}]}
69 | echo Entity_Defense: ${EntityCache.Count[${Entity_Defense}]}
70 | echo Entity_Rats: ${EntityCache.Count[${Entity_Rats}]}
71 | echo Entity_Mission: ${EntityCache.Count[${Entity_Mission}]}
72 | echo Entity_Asteroids: ${EntityCache.Count[${Entity_Asteroids}]}
73 | }
74 | }
75 |
76 |
--------------------------------------------------------------------------------
/Testcases/EVEBot/test_Inventory.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 | /*
3 | Test EVEBot Inventory proxy
4 |
5 | Revision $Id$
6 |
7 | Requirements:
8 | None
9 |
10 | */
11 |
12 | #include ../../Support/TestAPI.iss
13 | #include ../../Branches/Stable/core/obj_Inventory.iss
14 |
15 | function main()
16 | {
17 | echo "obj_Inventory: Member Test Case:"
18 |
19 | declarevariable Inventory obj_Inventory script
20 | /*
21 | call Inventory.ShipCargo.Activate ${MyShip.ID}
22 | if ${Return}
23 | Inventory.Current:DebugPrintInvData
24 |
25 | call Inventory.ShipFleetHangar.Activate
26 | if ${Return}
27 | Inventory.Current:DebugPrintInvData
28 |
29 | call Inventory.ShipGeneralMiningHold.Activate
30 | if ${Return}
31 | Inventory.Current:DebugPrintInvData
32 |
33 | call Inventory.ShipDroneBay.Activate
34 | if ${Return}
35 | Inventory.Current:DebugPrintInvData
36 | */
37 | call Inventory.StationHangar.Activate ${Me.Station.ID}
38 | if ${Return}
39 | Inventory.Current:DebugPrintInvData
40 | /*
41 | call Inventory.StationCorpHangars.Activate ${Me.Station.ID}
42 | if ${Return}
43 | Inventory.Current:DebugPrintInvData
44 |
45 | call Inventory.CorporationDeliveries.Activate ${Me.Station.ID}
46 | if ${Return}
47 | Inventory.Current:DebugPrintInvData
48 | */
49 | /*
50 | call Inventory.OpenEntityFleetHangar ${Entity[Name = "OrcaPilot"].ID}
51 | call Inventory.EntityFleetHangar.Activate ${Return}
52 | if !${Return}
53 | {
54 | echo Failed to activate inventory, aborting test
55 | Script:End
56 | }
57 | */
58 | Inventory.Current:DebugPrintInvData
59 | Inventory.Current:GetItems[]
60 | ;Inventory.Current:GetItems[NULL, "CategoryID == CATEGORYID_CHARGE"]
61 |
62 | variable iterator iter
63 | Inventory.Current.Items:GetIterator[iter]
64 | if ${iter:First(exists)}
65 | do
66 | {
67 | echo ${iter.Value.ID} ${iter.Value.LocationID} ${iter.Value.SlotID}:${iter.Value.Slot} - ${iter.Value.Name}
68 | }
69 | while ${iter:Next(exists)}
70 | }
71 |
72 |
73 |
--------------------------------------------------------------------------------
/Testcases/EVEBot/test_Inventory_NoOreHold.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | /*
4 | Test EVEBot Inventory - Activate returns false if given inventory doesn't exist
5 |
6 | Revision $Id$
7 |
8 | Requirements:
9 | None
10 |
11 | */
12 |
13 | #include ../../Support/TestAPI.iss
14 | #include ../../Branches/Stable/core/obj_Inventory.iss
15 |
16 | function main()
17 | {
18 | echo "obj_Inventory: Validate that witch to invalid hold returns false:"
19 |
20 | declarevariable Inventory obj_Inventory script
21 |
22 | call Inventory.ShipGeneralMiningHold.Activate
23 | if ${Return}
24 | {
25 | echo "Failed - Does this ship have an ore hold? MyShip.HasOreHold=${EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipGeneralMiningHold](exists)}. Pick a ship without."
26 | echo "Used Cap = ${Inventory.ShipGeneralMiningHold.UsedCapacity}"
27 | }
28 | else
29 | {
30 | echo "Activate returned false, confirming with IsCurrent"
31 | if ${Inventory.ShipGeneralMiningHold.IsCurrent
32 | {
33 | echo "Failed: IsCurrent should be false"
34 | }
35 | else
36 | {
37 | echo "Passed"
38 | }
39 | }
40 | }
41 |
42 |
43 |
--------------------------------------------------------------------------------
/Testcases/EVEBot/test_ItemDB.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | /*
4 | Test EVEBot ItemDB Loading & Members
5 |
6 | Revision $Id$
7 |
8 | Requirements:
9 | None
10 |
11 | */
12 |
13 | #include ../../Support/TestAPI.iss
14 | #include ../Branches/Dev/core/obj_EVEDB.iss
15 |
16 |
17 | function main()
18 | {
19 | echo "obj_EVEDB_Items: Member Test Case:"
20 |
21 | declarevariable itemdb obj_EVEDB_Items
22 |
23 | echo TypeID: ${itemdb.TypeID[Tritanium]}
24 | echo Name: ${itemdb.Name[34]}
25 | echo Metalevel: ${itemdb.Metalevel[34]}
26 | echo Volume: ${itemdb.Volume[34]}
27 | echo Capacity: ${itemdb.Capacity[34]}
28 | echo GroupID: ${itemdb.GroupID[34]}
29 | echo PortionSize: ${itemdb.PortionSize[34]}
30 | echo BasePrice: ${itemdb.BasePrice[34]}
31 | }
32 |
--------------------------------------------------------------------------------
/Testcases/EVEBot/test_StationDB.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | /*
4 | Test EVEBot ItemDB Loading & Members
5 |
6 | Revision $Id: test_evebot_itemdb.iss 1200 2009-06-17 00:36:15Z gliderpro $
7 |
8 | Requirements:
9 | None
10 |
11 | */
12 |
13 | #include ../../Support/TestAPI.iss
14 | #include ../Branches/Dev/core/obj_Station.iss
15 |
16 |
17 | function main()
18 | {
19 | echo "obj_EVEDB_StationID: Member Test Case:"
20 |
21 | declarevariable stationdb obj_EVEDB_StationID
22 |
23 | echo StationID: ${stationdb.StationID[Eiluvodi VI - Moon 14 - CBD Corporation Storage]}
24 | echo StationID: ${stationdb.StationID[Edmalbrurdus I - Republic University School]}
25 | }
26 |
--------------------------------------------------------------------------------
/Testcases/ISXEVE/AnomIDHelp.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Read what is in the probe scanner window
7 | *
8 | *
9 | *
10 | * Tests:
11 | * Trying to find what the different anom name and id's are
12 | *
13 | *
14 | * Requirements:
15 | * You: In spcae
16 | * Probe Scanner window open and active
17 | */
18 |
19 | function main()
20 | {
21 | variable index:systemanomaly MyAnomalies
22 | variable iterator MyAnomalies_Iterator
23 |
24 | MyShip.Scanners.System:GetAnomalies[MyAnomalies]
25 | MyAnomalies:GetIterator[MyAnomalies_Iterator]
26 |
27 | if ${MyAnomalies_Iterator:First(exists)}
28 | {
29 | do
30 | {
31 | echo ${Time}: ------------------------------------
32 | echo ${Time}: Difficulty: ${MyAnomalies_Iterator.Value.Difficulty}
33 | echo ${Time}: DungeonID: ${MyAnomalies_Iterator.Value.DungeonID}
34 | echo ${Time}: DungeonName: ${MyAnomalies_Iterator.Value.DungeonName}
35 | echo ${Time}: Faction: ${MyAnomalies_Iterator.Value.Faction}
36 | }
37 | while ${MyAnomalies_Iterator:Next(exists)}
38 | }
39 |
40 |
41 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/CharSelect.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 | /*
5 | Test: CharSelect (charselect datatype)
6 | Requirements: At character select screen
7 |
8 | */
9 | function main()
10 | {
11 | variable int StartTime = ${Script.RunningTime}
12 | variable int EndTime
13 |
14 | variable obj_LSTypeIterator ItemTest = "charselect"
15 |
16 | ItemTest:ParseMembers
17 | ItemTest:IterateMembers["CharSelect"]
18 |
19 | echo " Manual Tests (for members requiring a parameter):"
20 | if ${CharSelect.SelectedCharID} != -1
21 | {
22 | echo " CharSelect.CharExists[${CharSelect.SelectedChar}] == ${CharSelect.CharExists[${CharSelect.SelectedChar}]}"
23 | echo " CharSelect.CharExists[${CharSelect.SelectedCharID}] == ${CharSelect.CharExists[${CharSelect.SelectedCharID}]}"
24 | }
25 | else
26 | {
27 | echo " CharSelect.CharExists[${CharSelect.SelectedChar}] Not tested, no currently selected character"
28 | echo " CharSelect.CharExists[${CharSelect.SelectedCharID}] == Not tested, no currently selected character"
29 | }
30 |
31 | EndTime:Set[${Script.RunningTime}]
32 | echo "Testing of datatype ${ItemTest.TypeName} completed in ${Math.Calc[(${EndTime}-${StartTime}) / 1000]} seconds"
33 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVEWindow_Inv_GetItems_ShipCargo.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 | /*
5 | * Test eveinvchildwindow:GetItems
6 | *
7 | * Requirements:
8 | * Have items in ship cargo
9 | *
10 | */
11 |
12 |
13 | function main()
14 | {
15 | if !${EVEWindow[Inventory](exists)}
16 | {
17 | echo "Opening Inventory..."
18 | EVE:Execute[OpenInventory]
19 | wait 2
20 | }
21 |
22 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipCargo]:MakeActive
23 | wait 50
24 |
25 | variable index:item itemlist
26 | EVEWindow[Inventory].ActiveChild:GetItems[itemlist]
27 |
28 | variable iterator iter
29 | itemlist:GetIterator[iter]
30 | if ${iter:First(exists)}
31 | do
32 | {
33 | echo ${iter.Value.ID} ${iter.Value.LocationID} ${iter.Value.SlotID}:${iter.Value.Slot} - ${iter.Value.Name}
34 | }
35 | while ${iter:Next(exists)}
36 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVEWindow_Inv_GetItems_ShipDroneBay.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 | /*
5 | * Test eveinvchildwindow:GetItems
6 | *
7 | * Requirements:
8 | * Have items in ship cargo
9 | *
10 | */
11 |
12 |
13 | function main()
14 | {
15 | if !${EVEWindow[Inventory](exists)}
16 | {
17 | echo "Opening Inventory..."
18 | EVE:Execute[OpenInventory]
19 | wait 2
20 | }
21 |
22 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipDroneBay]:MakeActive
23 | wait 50
24 |
25 | variable index:item itemlist
26 | EVEWindow[Inventory].ActiveChild:GetItems[itemlist]
27 |
28 | variable iterator iter
29 | itemlist:GetIterator[iter]
30 | if ${iter:First(exists)}
31 | do
32 | {
33 | echo ${iter.Value.ID} ${iter.Value.LocationID} ${iter.Value.SlotID}:${iter.Value.Slot} - ${iter.Value.Name}
34 | }
35 | while ${iter:Next(exists)}
36 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVEWindow_Inv_GetItems_StationItems.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 | /*
5 | * Test eveinvchildwindow:GetItems
6 | *
7 | * Requirements:
8 | * Have items in ship cargo
9 | *
10 | */
11 |
12 |
13 | function main()
14 | {
15 | if !${EVEWindow[Inventory](exists)}
16 | {
17 | echo "Opening Inventory..."
18 | EVE:Execute[OpenInventory]
19 | wait 2
20 | }
21 |
22 | EVEWindow[Inventory].ChildWindow[${Me.Station.ID}, StationItems]:MakeActive
23 | wait 50
24 |
25 | variable index:item itemlist
26 | EVEWindow[Inventory].ActiveChild:GetItems[itemlist]
27 |
28 | variable iterator iter
29 | itemlist:GetIterator[iter]
30 | if ${iter:First(exists)}
31 | do
32 | {
33 | echo ${iter.Value.ID} ${iter.Value.LocationID} ${iter.Value.SlotID}:${iter.Value.Slot} - ${iter.Value.Name}
34 | }
35 | while ${iter:Next(exists)}
36 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVEWindow_Inv_GetItems_StationShips.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 | /*
5 | * Test eveinvchildwindow:GetItems
6 | *
7 | * Requirements:
8 | * Have items in ship cargo
9 | *
10 | */
11 |
12 |
13 | function main()
14 | {
15 | if !${EVEWindow[Inventory](exists)}
16 | {
17 | echo "Opening Inventory..."
18 | EVE:Execute[OpenInventory]
19 | wait 2
20 | }
21 |
22 | EVEWindow[Inventory].ChildWindow[${Me.Station.ID}, StationShips]:MakeActive
23 | wait 50
24 |
25 | variable index:item itemlist
26 | EVEWindow[Inventory].ActiveChild:GetItems[itemlist]
27 |
28 | variable iterator iter
29 | itemlist:GetIterator[iter]
30 | if ${iter:First(exists)}
31 | do
32 | {
33 | echo ${iter.Value.ID} ${iter.Value.LocationID} ${iter.Value.SlotID}:${iter.Value.Slot} - ${iter.Value.Name}
34 | }
35 | while ${iter:Next(exists)}
36 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVEWindow_Inv_StackAll_Hangar.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 | /*
5 | * Test eveinvchildwindow:StackAll
6 | *
7 | * Requirements:
8 | * Have items in station hangar, with at least 1 stack split
9 | *
10 | */
11 |
12 |
13 | function main()
14 | {
15 | if !${EVEWindow[Inventory](exists)}
16 | {
17 | echo "Opening Inventory..."
18 | EVE:Execute[OpenInventory]
19 | wait 2
20 | }
21 |
22 | EVEWindow[Inventory].ChildWindow[${Me.Station.ID}, StationItems]:MakeActive
23 | wait 50
24 |
25 | variable index:item itemlist
26 | EVEWindow[Inventory].ActiveChild:GetItems[itemlist]
27 | variable int before
28 | before:Set[${itemlist.Used}]
29 |
30 | echo "Stacking ${before} items..."
31 | EVEWindow[Inventory].ActiveChild:StackAll
32 | wait 10
33 |
34 | EVEWindow[Inventory].ActiveChild:GetItems[itemlist]
35 | echo "${itemlist.Used} stacks found after stacking ${before} items"
36 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVEWindow_Inventory.iss:
--------------------------------------------------------------------------------
1 | function main()
2 | {
3 | variable index:eveinvchildwindow InvWindowChildren
4 | variable iterator Iter
5 | variable int i = 1
6 |
7 | variable eveinvwindow InventoryWindow = "${EVEWindow["Inventory"]}"
8 | if (${InventoryWindow(exists)})
9 | {
10 | echo "- Name: ${InventoryWindow.Name}"
11 | echo "-- Type: ${InventoryWindow(type)}"
12 | echo "-- Caption: ${InventoryWindow.Caption}"
13 |
14 | InventoryWindow:GetChildren[InvWindowChildren]
15 | InvWindowChildren:GetIterator[Iter]
16 | if ${Iter:First(exists)}
17 | {
18 | echo "------- Inventory Window Children:"
19 | do
20 | {
21 | echo "Making Active: ${i}. Name: '${Iter.Value.Name}'"
22 | Iter.Value:MakeActive
23 | wait 8
24 | echo "-----| ActiveChild: ${InventoryWindow.ActiveChild.Name} ${InventoryWindow.ActiveChild.ItemID} ${InventoryWindow.ActiveChild.LocationFlag} ${InventoryWindow.ActiveChild.LocationFlagID}"
25 | echo "-----| HasCapacity: ${Iter.Value.HasCapacity}"
26 | if (${Iter.Value.HasCapacity})
27 | {
28 | echo "------| Capacity: ${Iter.Value.Capacity.Precision[2]}"
29 | echo "------| UsedCapacity: ${Iter.Value.UsedCapacity.Precision[2]}"
30 | }
31 | echo "-----| LocationFlag: ${Iter.Value.LocationFlag}"
32 | echo "-----| LocationFlagID: ${Iter.Value.LocationFlagID}"
33 | echo "-----| IsInRange: ${Iter.Value.IsInRange}"
34 | echo "-----| ItemID: ${Iter.Value.ItemID}"
35 | echo "--------------------------------"
36 | i:Inc
37 | }
38 | while ${Iter:Next(exists)}
39 | }
40 | }
41 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVE_Agent.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test eveagent datatype
7 |
8 | Revision $Id: EVE_GetAgents.iss 2130 2012-01-09 20:53:35Z CyberTech $
9 |
10 | Requirements:
11 | None
12 |
13 | */
14 |
15 | function main()
16 | {
17 | variable int EVEAgentIndex = 4130
18 | variable obj_LSTypeIterator ItemTest = "eveagent"
19 |
20 | ItemTest:ParseMembers
21 | ;ItemTest.ExcludedMembers:Add["Corporation"]
22 | ItemTest:IterateMembers["EVE.Agent[${EVEAgentIndex}]"]
23 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVE_GetAgentMissions.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 | #include ../../Support/TestAPI.iss
3 |
4 | /*
5 | Test Agent Mission lists
6 |
7 | Revision $Id$
8 |
9 | Requirements:
10 | You:
11 | Journal: Have missions in it
12 | */
13 |
14 | function main()
15 | {
16 | variable obj_LSTypeIterator ItemTest = "agentmission"
17 | variable string MethodStr = "EVE:GetAgentMissions"
18 |
19 | #include "../_Testcase_MethodStr_Body.iss"
20 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVE_GetAgents.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test GetAgents
7 |
8 | Revision $Id$
9 |
10 | Requirements:
11 | You: Have Agents
12 |
13 | */
14 |
15 | function main()
16 | {
17 | variable obj_LSTypeIterator ItemTest = "being"
18 | variable string MethodStr = "EVE:GetAgents"
19 |
20 | #include "../_Testcase_MethodStr_Body.iss"
21 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVE_GetBookMarks.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 | #include ../../Support/TestAPI.iss
3 |
4 | /*
5 | Test Bookmark Members
6 |
7 | Revision $Id$
8 |
9 | Requirements:
10 | You:
11 | Bookmarks
12 | People & Places window must have been opened at least once
13 | */
14 |
15 | function main()
16 | {
17 | variable obj_LSTypeIterator ItemTest = "bookmark"
18 | variable string MethodStr = "EVE:GetBookmarks"
19 |
20 | #include "../_Testcase_MethodStr_Body.iss"
21 | }
22 |
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVE_GetContacts.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test Buddy (Being) Member Iteration
7 |
8 | Revision $Id$
9 |
10 | Requirements:
11 | You:
12 | Buddy List: Populated
13 | People & Places window must have been opened at least once, to the buddies tab
14 | */
15 |
16 | function main()
17 | {
18 | variable obj_LSTypeIterator ItemTest = "being"
19 | variable string MethodStr = "EVE:GetContacts"
20 |
21 | #include "../_Testcase_MethodStr_Body.iss"
22 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVE_GetEVEWindows.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test EVEWindow iteration, GetEVEWindows
7 |
8 | Revision $Id$
9 |
10 | Requirements:
11 | You: Windows open
12 |
13 | */
14 |
15 | function main()
16 | {
17 | variable obj_LSTypeIterator ItemTest = "evewindow"
18 | variable string MethodStr = "EVE:GetEVEWindows"
19 |
20 | #include "../_Testcase_MethodStr_Body.iss"
21 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVE_GetLocalPilots.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test Pilot Iteration, Pilot.ToEntity, Pilot.ToFleetMember
7 |
8 | Revision $Id$
9 |
10 | Requirements:
11 | You: In Space
12 | Other1: In Fleet, In Space, on Grid
13 | Other2: In Space, Off Grid
14 | */
15 |
16 | function main()
17 | {
18 | variable obj_LSTypeIterator ItemTest = "pilot"
19 | variable string MethodStr = "EVE:GetLocalPilots"
20 |
21 | #include "../_Testcase_MethodStr_Body.iss"
22 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVE_GetMarketOrders.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test retrieval of market orders
7 |
8 | Revision $Id$
9 |
10 | Requirements:
11 | Open market window
12 | */
13 |
14 | function main()
15 | {
16 | declarevariable OrderIndex index:marketorder script
17 | declarevariable OrderIterator iterator script
18 | variable obj_LSTypeIterator ItemTest = "marketorder"
19 | variable int ItemTypeID = 11544
20 | ItemTest:ParseMembers
21 |
22 | variable int RTime
23 |
24 | RTime:Set[${Script.RunningTime}]
25 | EVE:FetchMarketOrders[${ItemTypeID}]
26 | echo "- FetchMarketOrders took ${Math.Calc[${Script.RunningTime}-${RTime}]} ms."
27 |
28 | wait 5
29 |
30 | OrderIndex:Clear
31 | RTime:Set[${Script.RunningTime}]
32 | while !${EVE:GetMarketOrders[OrderIndex, ${ItemTypeID}, "Sell"](exists)}
33 | {
34 | echo "Waiting for order update..."
35 | wait 10
36 | }
37 | echo "- GetMarketOrders returned ${OrderIndex.Used} sell orders in ${Math.Calc[${Script.RunningTime}-${RTime}]} ms."
38 |
39 | /*
40 | OrderIndex:Clear
41 | RTime:Set[${Script.RunningTime}]
42 | while !${EVE:GetMarketOrders[OrderIndex, ${ItemTypeID}, "Buy"](exists)}
43 | {
44 | echo "Waiting for order update..."
45 | wait 10
46 | }
47 | echo "- GetMarketOrders returned ${OrderIndex.Used} buy orders in ${Math.Calc[${Script.RunningTime}-${RTime}]} ms."
48 | */
49 |
50 | echo ${OrderIndex.Get[1].Price}
51 | ;endscript *
52 | OrderIndex:GetIterator[OrderIterator]
53 |
54 | if ${OrderIterator:First(exists)}
55 | {
56 | do
57 | {
58 | ItemTest:IterateMembers["OrderIterator.Value", TRUE, FALSE]
59 | }
60 | while ${OrderIterator:Next(exists)}
61 | }
62 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVE_MoveItemsTo_Hangar.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Test moving all items from ship cargo to station hangar
7 | *
8 | * Revision $Id$
9 | *
10 | * Tests:
11 | * EVE:MoveItemsTo (Hangar dest)
12 | * MyShip:GetCargo
13 | *
14 | * Requirements:
15 | * You: In station
16 | * Cargo: In ship cargo
17 | */
18 |
19 | function main()
20 | {
21 | variable index:item MyCargo
22 | variable iterator CargoIterator
23 | variable index:int64 IDList
24 |
25 | echo "Version: ${ISXEVE.Version}"
26 |
27 | if !${EVEWindow[Inventory](exists)}
28 | {
29 | echo "Opening Inventory..."
30 | EVE:Execute[OpenInventory]
31 | wait 2
32 | }
33 |
34 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipCargo]:MakeActive
35 | Wait 10
36 |
37 | MyShip:GetCargo[MyCargo]
38 | echo "Ship Cargo contains ${MyCargo.Used} Items"
39 |
40 | MyCargo:GetIterator[CargoIterator]
41 | if ${CargoIterator:First(exists)}
42 | do
43 | {
44 | echo "Adding ID: ${CargoIterator.Value} ${CargoIterator.Value.ID}"
45 | IDList:Insert[${CargoIterator.Value.ID}]
46 | }
47 | while ${CargoIterator:Next(exists)}
48 |
49 | ;IDList:Clear
50 | ;IDList:Insert[${MyCargo[1].ID}]
51 | echo "Have ${IDList.Used} Items to move to station hangar"
52 |
53 | EVE:MoveItemsTo[IDList, ${Me.Station.ID}, Hangar]
54 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVE_MoveItemsTo_MyShip.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Test moving all items from station hangar to ship cargo
7 | *
8 | * Revision $Id$
9 | *
10 | * Tests:
11 | * EVE:MoveItemsTo (MyShip dest)
12 | * Station:GetHangarItems
13 | *
14 | * Requirements:
15 | * You: In station
16 | * Cargo: In station hangar
17 | */
18 |
19 | function main()
20 | {
21 | variable index:item MyCargo
22 | variable iterator CargoIterator
23 | variable index:int64 IDList
24 |
25 | echo "Version: ${ISXEVE.Version}"
26 |
27 | if !${EVEWindow[Inventory](exists)}
28 | {
29 | echo "Opening Inventory..."
30 | EVE:Execute[OpenInventory]
31 | wait 2
32 | }
33 |
34 | EVEWindow[Inventory].ChildWindow[${Me.Station.ID}, StationItems]:MakeActive
35 | Wait 10
36 |
37 | Me.Station:GetHangarItems[MyCargo]
38 | ;MyCargo:RemoveByQuery[${LavishScript.CreateQuery["CategoryID == CATEGORYID_CHARGE"]}, FALSE]
39 | ;MyCargo:Collapse
40 | echo "Station Hangar contains ${MyCargo.Used} matching items"
41 |
42 | MyCargo:GetIterator[CargoIterator]
43 | if ${CargoIterator:First(exists)}
44 | do
45 | {
46 | echo "Adding ID: ${CargoIterator.Value} ${CargoIterator.Value.ID}"
47 | IDList:Insert[${CargoIterator.Value.ID}]
48 | }
49 | while ${CargoIterator:Next(exists)}
50 |
51 | echo "Have ${IDList.Used} Items to move to ship cargo"
52 |
53 | EVE:MoveItemsTo[IDList, MyShip, CargoHold]
54 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipCargo]:MakeActive
55 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVE_MoveItemsTo_MyShip_OreHold.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Test moving all ore from station hangar to ship ore hold
7 | *
8 | * Revision $Id$
9 | *
10 | * Tests:
11 | * EVE:MoveItemsTo (MyShip dest)
12 | * Station:GetHangarItems
13 | *
14 | * Requirements:
15 | * You: In station
16 | * Cargo: In station hangar
17 | */
18 |
19 | function main()
20 | {
21 | variable index:item MyCargo
22 | variable iterator CargoIterator
23 | variable index:int64 IDList
24 |
25 | echo "Version: ${ISXEVE.Version}"
26 |
27 | if !${EVEWindow[Inventory](exists)}
28 | {
29 | echo "Opening Inventory..."
30 | EVE:Execute[OpenInventory]
31 | wait 2
32 | }
33 |
34 | EVEWindow[Inventory].ChildWindow[${Me.Station.ID}, StationItems]:MakeActive
35 | Wait 10
36 |
37 | Me.Station:GetHangarItems[MyCargo]
38 | MyCargo:RemoveByQuery[${LavishScript.CreateQuery["CategoryID == CATEGORYID_ORE"]}, FALSE]
39 | MyCargo:Collapse
40 | echo "Station Hangar contains ${MyCargo.Used} matching items"
41 |
42 | MyCargo:GetIterator[CargoIterator]
43 | if ${CargoIterator:First(exists)}
44 | do
45 | {
46 | echo "Adding ID: ${CargoIterator.Value} ${CargoIterator.Value.ID}"
47 | IDList:Insert[${CargoIterator.Value.ID}]
48 | }
49 | while ${CargoIterator:Next(exists)}
50 |
51 | echo "Have ${IDList.Used} Items to move to ship cargo"
52 |
53 | EVE:MoveItemsTo[IDList, MyShip, OreHold]
54 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipOreHold]:MakeActive
55 |
56 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVE_MoveItemsTo_MyStationHangar_Ore.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Test moving all ORE from ship cargo and ship ore hangar to station hangar
7 | *
8 | * Revision $Id$
9 | *
10 | * Tests:
11 | * EVE:MoveItemsTo (Hangar dest)
12 | * MyShip:GetCargo
13 | MyShip:GetOreHoldCargo
14 | *
15 | * Requirements:
16 | * You: In station
17 | * Cargo: In ship cargo
18 | */
19 |
20 | function main()
21 | {
22 | variable index:item MyCargo
23 | variable iterator CargoIterator
24 | variable index:int64 IDList
25 |
26 | echo "Version: ${ISXEVE.Version}"
27 |
28 | if !${EVEWindow[Inventory](exists)}
29 | {
30 | echo "Opening Inventory..."
31 | EVE:Execute[OpenInventory]
32 | wait 2
33 | }
34 |
35 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipCargo]:MakeActive
36 | Wait 10
37 |
38 | MyShip:GetCargo[MyCargo]
39 | MyCargo:RemoveByQuery[${LavishScript.CreateQuery["CategoryID == CATEGORYID_ORE"]}, FALSE]
40 | MyCargo:Collapse
41 | echo "Ship Cargo contains ${MyCargo.Used} matching items"
42 |
43 | MyCargo:GetIterator[CargoIterator]
44 | if ${CargoIterator:First(exists)}
45 | do
46 | {
47 | echo "Adding ID: ${CargoIterator.Value} ${CargoIterator.Value.ID}"
48 | IDList:Insert[${CargoIterator.Value.ID}]
49 | }
50 | while ${CargoIterator:Next(exists)}
51 |
52 | echo " Moving ${IDList.Used} Items to station hangar"
53 | EVE:MoveItemsTo[IDList, MyStationHangar, Hangar]
54 | IDList:Clear
55 |
56 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipOreHold]:MakeActive
57 | Wait 10
58 |
59 | MyShip:GetOreHoldCargo[MyCargo]
60 | MyCargo:RemoveByQuery[${LavishScript.CreateQuery["CategoryID == CATEGORYID_ORE"]}, FALSE]
61 | MyCargo:Collapse
62 | echo "Ship Ore Cargo contains ${MyCargo.Used} matching items"
63 |
64 | MyCargo:GetIterator[CargoIterator]
65 | if ${CargoIterator:First(exists)}
66 | do
67 | {
68 | echo "Adding ID: ${CargoIterator.Value} ${CargoIterator.Value.ID}"
69 | IDList:Insert[${CargoIterator.Value.ID}]
70 | }
71 | while ${CargoIterator:Next(exists)}
72 |
73 | echo " Moving ${IDList.Used} Items to station hangar"
74 | EVE:MoveItemsTo[IDList, MyStationHangar, Hangar]
75 | IDList:Clear
76 |
77 | EVEWindow[Inventory].ChildWindow[${Me.Station.ID}, StationItems]:MakeActive
78 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVE_QueryEntities.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Entity Retrieval and Member Access
7 | *
8 | * Revision $Id$
9 | *
10 | * Tests:
11 | * EVE:QueryEntities
12 | * ntity Members
13 | *
14 | * Requirements:
15 | * You: In Space
16 | */
17 |
18 | function main()
19 | {
20 | declarevariable Entities index:entity script
21 | declarevariable EntityIterator iterator script
22 |
23 | variable obj_LSTypeIterator ItemTest = "entity"
24 |
25 | variable int StartTime = ${Script.RunningTime}
26 | variable int StartTime2
27 | variable float CallTime
28 |
29 | ItemTest:ParseMembers
30 |
31 | variable index:string MemberList
32 | MemberList:Insert[ID]
33 | MemberList:Insert[Name]
34 | ;MemberList:Insert[GroupID]
35 | ;MemberList:Insert[TypeID]
36 | ;MemberList:Insert[CategoryID]
37 | ;MemberList:Insert[ShieldPct]
38 | ;MemberList:Insert[ArmorPct]
39 | ;MemberList:Insert[StructurePct]
40 | MemberList:Insert[Distance]
41 | ;MemberList:Insert[X]
42 | ;MemberList:Insert[Y]
43 | ;MemberList:Insert[Z]
44 | ;MemberList:Insert[BeingTargeted]
45 | ;MemberList:Insert[IsLockedTarget]
46 | ;MemberList:Insert[IsNPC]
47 | ;MemberList:Insert[IsPC]
48 | ;MemberList:Insert[IsTargetingMe]
49 |
50 | variable iterator CurrentMember
51 |
52 | ;EVE:PopulateEntities[TRUE]
53 | ;UI:UpdateConsole["EVE:PopulateEntities: ${Math.Calc[(${Script.RunningTime}-${StartTime2}) / 1000]} seconds"]
54 |
55 | StartTime:Set[${Script.RunningTime}]
56 | EVE:QueryEntities[Entities]
57 | EVE:QueryEntities[Entities, Distance < 100000]
58 | ;EVE:QueryEntities[Entities, "CategoryID = 25"]
59 |
60 | CallTime:Set[${Math.Calc[(${Script.RunningTime}-${StartTime}) / 1000]}]
61 | UI:UpdateConsole["EVE:QueryEntities: ${Entities.Used} entities in ${CallTime} seconds"]
62 |
63 | Entities:GetIterator[EntityIterator]
64 | MemberList:GetIterator[CurrentMember]
65 |
66 | StartTime:Set[${Script.RunningTime}]
67 | if ${CurrentMember:First(exists)}
68 | do
69 | {
70 | StartTime2:Set[${Script.RunningTime}]
71 | if ${EntityIterator:First(exists)}
72 | do
73 | {
74 | ItemTest:IterateMembers["EntityIterator.Value", TRUE, FALSE]
75 | ;echo ${EntityIterator.Value}: ${EntityIterator.Value.ID} ${EntityIterator.Value.Distance} ${EntityIterator.Value.Name}
76 | }
77 | while ${EntityIterator:Next(exists)}
78 | UI:UpdateConsole["${ItemTest.TypeName}.${CurrentMember.Value}/Name/Distance * ${Entities.Used} completed ${Math.Calc[(${Script.RunningTime}-${StartTime2}) / 1000]} seconds"]
79 | }
80 | while ${CurrentMember:Next(exists)}
81 |
82 | UI:UpdateConsole["EVE:QueryEntities returned ${Entities.Used} entities in ${CallTime} seconds"]
83 | UI:UpdateConsole["Testing of datatype ${ItemTest.TypeName} completed in ${Math.Calc[(${Script.RunningTime}-${StartTime}) / 1000]} seconds"]
84 | }
85 |
86 |
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVE_QueryEntities2.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Entity Retrieval and Member Access, using lavishscript RemoveByQuery method
7 | *
8 | * Revision $Id$
9 | *
10 | * Tests:
11 | * EVE:QueryEntities
12 | * ntity Members
13 | *
14 | * Requirements:
15 | * You: In Space
16 | */
17 |
18 | function main()
19 | {
20 | declarevariable Entities index:entity script
21 | declarevariable EntityIterator iterator script
22 |
23 | variable obj_LSTypeIterator ItemTest = "entity"
24 |
25 | variable int StartTime = ${Script.RunningTime}
26 | variable int StartTime2
27 | variable float CallTime
28 |
29 | ItemTest:ParseMembers
30 |
31 | ;EVE:PopulateEntities[TRUE]
32 | ;UI:UpdateConsole["EVE:PopulateEntities: ${Math.Calc[(${Script.RunningTime}-${StartTime2}) / 1000]} seconds"]
33 |
34 | EVE:QueryEntities[Entities]
35 |
36 | CallTime:Set[${Math.Calc[(${Script.RunningTime}-${StartTime}) / 1000]}]
37 | UI:UpdateConsole["EVE:QueryEntities: ${Entities.Used} entities in ${CallTime} seconds - Count should be ${EVE.EntitiesCount}"]
38 |
39 | Entities:GetIterator[EntityIterator]
40 |
41 | variable uint QueryID
42 | ;variable string Filter = "Distance < 1000000"
43 | variable string Filter = "Distance > 200000"
44 | ;variable string Filter = "CategoryID = 25"
45 |
46 | QueryID:Set[${LavishScript.CreateQuery[${Filter}]}]
47 | if ${QueryID} == 0
48 | {
49 | UI:UpdateConsole["LavishScript.CreateQuery: '${Filter}' query addition FAILED"]
50 | return 0
51 | }
52 |
53 | Entities:RemoveByQuery[${QueryID}, true]
54 | UI:UpdateConsole["Entities:RemoveByQuery: ${Entities.Used} entities after call"]
55 |
56 | StartTime2:Set[${Script.RunningTime}]
57 | if ${EntityIterator:First(exists)}
58 | do
59 | {
60 | ;if ${EntityIterator.Value.Distance} < 200000
61 | ;{
62 | ;ItemTest:IterateMembers["EntityIterator.Value", TRUE, FALSE]
63 | echo ${EntityIterator.Value}: ${EntityIterator.Value.ID} ${EntityIterator.Value.Distance} ${EntityIterator.Value.CategoryID}
64 | ;}
65 | }
66 | while ${EntityIterator:Next(exists)}
67 | ;UI:UpdateConsole[" ${ItemTest.TypeName} * ${Entities.Used} completed ${Math.Calc[(${Script.RunningTime}-${StartTime2}) / 1000]} seconds"]
68 |
69 | UI:UpdateConsole["EVE:QueryEntities: ${Entities.Used} entities in ${CallTime} seconds - Count should be ${EVE.EntitiesCount}"]
70 | UI:UpdateConsole["Testing of datatype ${ItemTest.TypeName} completed in ${Math.Calc[(${Script.RunningTime}-${StartTime}) / 1000]} seconds"]
71 | }
72 |
73 |
--------------------------------------------------------------------------------
/Testcases/ISXEVE/EVE_QueryEntities_Tags.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Entity Retrieval and Member Access
7 | *
8 | * Revision $Id$
9 | *
10 | * Tests:
11 | * EVE:QueryEntities
12 | * Entity Members
13 | *
14 | * Requirements:
15 | * You: In Space
16 | */
17 |
18 | function main()
19 | {
20 | declarevariable Entities index:entity script
21 | declarevariable EntityIterator iterator script
22 |
23 | variable obj_LSTypeIterator ItemTest = "entity"
24 |
25 | variable int StartTime = ${Script.RunningTime}
26 | variable int StartTime2
27 | variable float CallTime
28 |
29 | ItemTest:ParseMembers
30 |
31 | variable index:string MemberList
32 | MemberList:Insert[ID]
33 | MemberList:Insert[Name]
34 | ;MemberList:Insert[GroupID]
35 | ;MemberList:Insert[TypeID]
36 | ;MemberList:Insert[CategoryID]
37 | ;MemberList:Insert[ShieldPct]
38 | ;MemberList:Insert[ArmorPct]
39 | ;MemberList:Insert[StructurePct]
40 | MemberList:Insert[Distance]
41 | ;MemberList:Insert[X]
42 | ;MemberList:Insert[Y]
43 | ;MemberList:Insert[Z]
44 | ;MemberList:Insert[BeingTargeted]
45 | ;MemberList:Insert[IsLockedTarget]
46 | ;MemberList:Insert[IsNPC]
47 | ;MemberList:Insert[IsPC]
48 | ;MemberList:Insert[IsTargetingMe]
49 |
50 | variable iterator CurrentMember
51 |
52 | ;EVE:PopulateEntities[TRUE]
53 | ;UI:UpdateConsole["EVE:PopulateEntities: ${Math.Calc[(${Script.RunningTime}-${StartTime2}) / 1000]} seconds"]
54 |
55 | StartTime:Set[${Script.RunningTime}]
56 | EVE:QueryEntities[Entities]
57 | EVE:QueryEntities[Entities, Distance < 200000]
58 | EVE:QueryEntities[Entities, "CategoryID = 25"]
59 |
60 | CallTime:Set[${Math.Calc[(${Script.RunningTime}-${StartTime}) / 1000]}]
61 | UI:UpdateConsole["EVE:QueryEntities: ${Entities.Used} entities in ${CallTime} seconds"]
62 |
63 | Entities:GetIterator[EntityIterator]
64 | MemberList:GetIterator[CurrentMember]
65 |
66 | StartTime:Set[${Script.RunningTime}]
67 | if ${CurrentMember:First(exists)}
68 | do
69 | {
70 | StartTime2:Set[${Script.RunningTime}]
71 | if ${EntityIterator:First(exists)}
72 | do
73 | {
74 | ;ItemTest:IterateMembers["EntityIterator.Value", TRUE, FALSE]
75 | if ${EntityIterator.Value.FleetTag.Equal[""]}
76 | {
77 | echo ${EntityIterator.Value}: ${EntityIterator.Value.ID} ${EntityIterator.Value.Distance} "Empty"
78 | }
79 | else
80 | {
81 | echo ${EntityIterator.Value}: ${EntityIterator.Value.ID} ${EntityIterator.Value.Distance} ${EntityIterator.Value.FleetTag}
82 | }
83 |
84 | }
85 | while ${EntityIterator:Next(exists)}
86 | UI:UpdateConsole["${ItemTest.TypeName}.${CurrentMember.Value}/Name/Distance * ${Entities.Used} completed ${Math.Calc[(${Script.RunningTime}-${StartTime2}) / 1000]} seconds"]
87 | }
88 | while ${CurrentMember:Next(exists)}
89 |
90 | UI:UpdateConsole["EVE:QueryEntities returned ${Entities.Used} entities in ${CallTime} seconds"]
91 | UI:UpdateConsole["Testing of datatype ${ItemTest.TypeName} completed in ${Math.Calc[(${Script.RunningTime}-${StartTime}) / 1000]} seconds"]
92 | }
93 |
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Fleet_Broadcast.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test Fleet Broadcasts
7 |
8 | Revision $Id$
9 |
10 | Tests:
11 | Me.Fleet:Broadcast_*
12 |
13 | Requirements:
14 | You: In Space
15 | Other: In Fleet, In Space, on Grid
16 |
17 | Optional:
18 | Active Cyno (if you want the beacon broadcast to succeed)
19 | */
20 |
21 | function main()
22 | {
23 | echo " "
24 | echo "${Script.Filename} Starting..."
25 | echo " "
26 | echo "There are ${Me.Fleet.Size} fleet members"
27 |
28 | echo "Broadcast Tests:"
29 | Me.Fleet:Broadcast_AlignTo[${Entity[Name = "Stargate"].ID}]
30 | wait 10
31 | Me.Fleet:Broadcast_EnemySpotted
32 | wait 10
33 | Me.Fleet:Broadcast_HealArmor
34 | wait 10
35 | Me.Fleet:Broadcast_HealCapacitor
36 | wait 10
37 | Me.Fleet:Broadcast_HealShield
38 | wait 10
39 | Me.Fleet:Broadcast_HoldPosition
40 | wait 10
41 | Me.Fleet:Broadcast_InPosition
42 | wait 10
43 | Me.Fleet:Broadcast_JumpBeacon
44 | wait 10
45 | Me.Fleet:Broadcast_JumpTo[${Universe["Jita"].ID}]
46 | wait 10
47 | Me.Fleet:Broadcast_Location
48 | wait 10
49 | Me.Fleet:Broadcast_NeedBackup
50 | wait 10
51 | Me.Fleet:Broadcast_Target[${Me.ToEntity.ID}]
52 | wait 10
53 | Me.Fleet:Broadcast_TravelTo[${Universe["Jita"].ID}]
54 | wait 10
55 | Me.Fleet:Broadcast_WarpTo[${Entity[Name = "Stargate"].ID}]
56 | wait 10
57 | Me.Fleet:Broadcast_WarpTo[${Me.ToEntity.ID}]
58 | wait 10
59 |
60 | echo "${Script.Filename} Completed..."
61 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Fleet_GetMembers.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test FleetMember Iteration, FleetMember.ToEntity, FleetMember.ToPilot
7 |
8 | Revision $Id$
9 |
10 | Requirements:
11 | You: In Space
12 | Other1: In Fleet, In Space, on Grid
13 | Other2: In Space, Off Grid
14 | */
15 |
16 | function main()
17 | {
18 | variable obj_LSTypeIterator ItemTest = "fleetmember"
19 | variable string MethodStr = "Me.Fleet:GetMembers"
20 |
21 | #include "../_Testcase_MethodStr_Body.iss"
22 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Item.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 | /*
5 | * Test MyShip:GetCarg
6 | *
7 | * Revision $Id: Station_GetHangarItems.iss 2131 2012-01-09 21:21:12Z CyberTech $
8 | *
9 | * Requirements:
10 | * Have items in ship cargo
11 | *
12 | */
13 |
14 |
15 | function main()
16 | {
17 | variable obj_LSTypeIterator ItemTest = "item"
18 | variable string MethodStr = "MyShip:GetCargo"
19 |
20 | MyShip:Open
21 | wait 15
22 |
23 | #include "../_Testcase_MethodStr_Body.iss"
24 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Item_Compress.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Test Opening Compression window
7 | *
8 | * Revision $Id$
9 | *
10 | * Tests:
11 | * Trying to open compression window in station
12 | *
13 | *
14 | * Requirements:
15 | * You: In station
16 | * Ore: In Mining Ore Hold
17 | */
18 |
19 | function main()
20 | {
21 | variable index:item MyOre
22 | variable iterator OreIterator
23 | variable index:int64 IDList
24 |
25 |
26 | if !${EVEWindow[Inventory](exists)}
27 | {
28 | echo "Opening Inventory..."
29 | EVE:Execute[OpenInventory]
30 | wait 2
31 | }
32 |
33 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipGeneralMiningHold]:MakeActive
34 | Wait 10
35 |
36 | EVEWindow[Inventory].ActiveChild:GetItems[MyOre]
37 | echo "Ship Mining Hold contains ${MyOre.Used}"
38 |
39 | MyOre:GetIterator[OreIterator]
40 | if ${OreIterator:First(exists)}
41 | {
42 | do
43 | {
44 | if (${OreIterator.Value.Name.Equal[Veldspar]})
45 | {
46 | echo "Try to open compression window"
47 | OreIterator.Value:Compress
48 | }
49 | }
50 | while ${OreIterator:Next(exists)}
51 | }
52 |
53 |
54 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Item_GetInsuranceQuotes.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Test:
7 | * Item:GetInsuranceQuotes, where item is a ship
8 | * Item.Insured
9 | * Item.InsuranceLeveL
10 | *
11 | * Revision $Id$
12 | *
13 | * Requirements:
14 | * Docked
15 | * Ships in ship hangar
16 | * Insurance window open
17 | *
18 | */
19 |
20 | function main()
21 | {
22 | variable int StartTime = ${Script.RunningTime}
23 | variable int EndTime
24 |
25 | declarevariable HangarShips index:item script
26 | variable collection:float Quotes
27 |
28 | EVE:Execute[OpenShipHangar]
29 | wait 15
30 | Me.Station:GetHangarShips[HangarShips]
31 | echo "Me.Station:GetHangarShips returned ${HangarShips.Used} ships"
32 | EVE:Execute[OpenInsurance]
33 | wait 15
34 | variable int i
35 | for (i:Set[1]; ${i} <= ${HangarShips.Used}; i:Inc)
36 | {
37 | HangarShips.Get[${i}]:GetInsuranceQuotes[Quotes]
38 | echo "Insurance Quotes for ${HangarShips.Get[${i}].Name}"
39 | echo " " Basic: ${Quotes.Element["Basic"]}
40 | echo " " Standard: ${Quotes.Element["Standard"]}
41 | echo " " Bronze: ${Quotes.Element["Bronze"]}
42 | echo " " Silver: ${Quotes.Element["Silver"]}
43 | echo " " Gold: ${Quotes.Element["Gold"]}
44 | echo " " Platinum: ${Quotes.Element["Platinum"]}
45 | echo " Insured: ${HangarShips.Get[${i}].IsInsured}"
46 | echo " InsuranceLevel: ${HangarShips.Get[${i}].InsuranceLevel}"
47 | }
48 |
49 | EndTime:Set[${Script.RunningTime}]
50 | echo "Testing of method Item:GetInsuranceQuotes completed in ${Math.Calc[(${EndTime}-${StartTime}) / 1000]} seconds"
51 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Item_Insure.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Test Item:GetInsuranceQuotes, where item is a ship
7 | *
8 | * Revision $Id$
9 | *
10 | * Requirements:
11 | * Docked
12 | * Ships in ship hangar
13 | * Kestrel in ship hangar, uninsured (cancel insurance if needed)
14 | * Insurance window open
15 | * Enough isk (80k) to cover insuring a kestrel
16 | *
17 | */
18 |
19 | function main()
20 | {
21 | variable int StartTime = ${Script.RunningTime}
22 | variable int EndTime
23 |
24 | declarevariable HangarShips index:item script
25 | variable collection:float Quotes
26 |
27 | EVE:Execute[OpenShipHangar]
28 | wait 15
29 | Me.Station:GetHangarShips[HangarShips]
30 | echo "Me.Station:GetHangarShips returned ${HangarShips.Used} ships"
31 |
32 | variable int i
33 | for (i:Set[1]; ${i} <= ${HangarShips.Used}; i:Inc)
34 | {
35 | if ${HangarShips.Get[${i}].TypeID} == 602
36 | {
37 | HangarShips.Get[${i}]:GetInsuranceQuotes[Quotes]
38 | echo "Insurance Quotes for ${HangarShips.Get[${i}].Name} ${HangarShips.Get[${i}].TypeID}"
39 | echo " " Platinum Cost: ${Quotes.Element["Platinum"]}
40 | HangarShips.Get[${i}]:Insure[${Quotes.Element["Platinum"]}]
41 | }
42 | }
43 |
44 | echo "Close and re-open the insurance window, and the ship should now be insured"
45 |
46 | EndTime:Set[${Script.RunningTime}]
47 | echo "Testing of method Item:Insure completed in ${Math.Calc[(${EndTime}-${StartTime}) / 1000]} seconds"
48 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Item_MoveTo_Hangar.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Test moving all items from ship cargo to station item hangar
7 | *
8 | * Revision $Id$
9 | *
10 | * Tests:
11 | * Item:Moveto (Hangar dest)
12 | * MyShip:GetCargo
13 | *
14 | * Requirements:
15 | * You: In station
16 | * Cargo: In station hangar
17 | */
18 |
19 | function main()
20 | {
21 | variable index:item MyCargo
22 | variable iterator CargoIterator
23 | variable index:int64 IDList
24 |
25 | if !${Me.InStation}
26 | {
27 | echo "Must be docked"
28 | return
29 | }
30 |
31 | echo "Version: ${ISXEVE.Version}"
32 |
33 | if !${EVEWindow[Inventory](exists)}
34 | {
35 | echo "Opening Inventory..."
36 | EVE:Execute[OpenInventory]
37 | wait 2
38 | }
39 |
40 | EVEWindow[Inventory].ChildWindow[${Me.StationID}, StationItems]:MakeActive
41 | Wait 10
42 |
43 | MyShip:GetCargo[MyCargo]
44 | echo "Ship Cargo contains ${MyCargo.Used} Items"
45 |
46 | MyCargo:GetIterator[CargoIterator]
47 | if ${CargoIterator:First(exists)}
48 | ;do
49 | {
50 | echo "Moving ID: ${CargoIterator.Value} ${CargoIterator.Value.ID} Count: ${CargoIterator.Value.Quantity}"
51 | CargoIterator.Value:MoveTo[MyStationHangar, CargoHold, ${CargoIterator.Value.Quantity}]
52 | }
53 | ;while ${CargoIterator:Next(exists)}
54 |
55 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Item_MoveTo_MyShip.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Test moving all items from ship cargo to station hangar
7 | *
8 | * Revision $Id$
9 | *
10 | * Tests:
11 | * Item:Moveto (Myship dest)
12 | * MyShip:GetCargo
13 | *
14 | * Requirements:
15 | * You: In station
16 | * Cargo: In station hangar
17 | */
18 |
19 | function main()
20 | {
21 | variable index:item MyCargo
22 | variable iterator CargoIterator
23 | variable index:int64 IDList
24 |
25 | if !${Me.InStation}
26 | {
27 | echo "Must be docked"
28 | return
29 | }
30 |
31 | echo "Version: ${ISXEVE.Version}"
32 |
33 | if !${EVEWindow[Inventory](exists)}
34 | {
35 | echo "Opening Inventory..."
36 | EVE:Execute[OpenInventory]
37 | wait 2
38 | }
39 |
40 | EVEWindow[Inventory].ChildWindow[${Me.Station.ID}, StationItems]:MakeActive
41 | Wait 10
42 |
43 | Me.Station:GetHangarItems[MyCargo]
44 | echo "Station Hangar contains ${MyCargo.Used} Items"
45 |
46 | MyCargo:GetIterator[CargoIterator]
47 | if ${CargoIterator:First(exists)}
48 | do
49 | {
50 | echo "Moving ID: ${CargoIterator.Value} ${CargoIterator.Value.ID} Count: ${CargoIterator.Value.Quantity}"
51 | CargoIterator.Value:MoveTo[MyShip, CargoHold, ${CargoIterator.Value.Quantity}]
52 | ;CargoIterator.Value:MoveTo[MyShip]
53 | }
54 | while ${CargoIterator:Next(exists)}
55 |
56 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipCargo]:MakeActive
57 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Item_MoveTo_MyShip_FleetHangar.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Test moving all items from station hangar to ship fleet hangar
7 | *
8 | * Revision $Id$
9 | *
10 | * Tests:
11 | * Item:Moveto (Myship dest)
12 | * Station:GetHangarItems
13 | *
14 | * Requirements:
15 | * You: In station
16 | * Cargo: In station hangar
17 | */
18 |
19 | function main()
20 | {
21 | variable index:item MyCargo
22 | variable iterator CargoIterator
23 | variable index:int64 IDList
24 |
25 | if !${Me.InStation}
26 | {
27 | echo "Must be docked"
28 | return
29 | }
30 |
31 | echo "Version: ${ISXEVE.Version}"
32 |
33 | if !${EVEWindow[Inventory](exists)}
34 | {
35 | echo "Opening Inventory..."
36 | EVE:Execute[OpenInventory]
37 | wait 2
38 | }
39 |
40 | EVEWindow[Inventory].ChildWindow[${Me.StationID}, StationItems]:MakeActive
41 | Wait 10
42 |
43 | Me.Station:GetHangarItems[MyCargo]
44 | echo "Station Hangar contains ${MyCargo.Used} Items"
45 |
46 | MyCargo:GetIterator[CargoIterator]
47 | if ${CargoIterator:First(exists)}
48 | ;do
49 | {
50 | echo "Moving ID: ${CargoIterator.Value} ${CargoIterator.Value.ID} Count: ${CargoIterator.Value.Quantity}"
51 | CargoIterator.Value:MoveTo["MyShip", "FleetHangar", ${CargoIterator.Value.Quantity}]
52 | }
53 | ;while ${CargoIterator:Next(exists)}
54 |
55 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Item_Open.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 | /*
5 | * Test GetHangarItems
6 | *
7 | * Revision $Id$
8 | *
9 | * Requirements:
10 | * Docked, have items in station hangar
11 | *
12 | */
13 |
14 |
15 | function main()
16 | {
17 | variable index:item Items
18 | variable string MethodStr = "Me.Station:GetHangarItems"
19 |
20 | EVE:Execute[OpenHangarFloor]
21 | wait 15
22 |
23 | Me.Station:GetHangarItems[Items]
24 | variable iterator ThisItem
25 | Items:GetIterator[ThisItem]
26 | if ${ThisItem:First(exists)}
27 | {
28 | do
29 | {
30 | ; Freight Container 649 General Freight Container
31 | ; Secure Cargo Container 340 Giant Secure Container
32 | if ${ThisItem.Value.GroupID} == 649 || \
33 | ${ThisItem.Value.GroupID} == 448 || \
34 | ${ThisItem.Value.GroupID} == 12 || \
35 | ${ThisItem.Value.GroupID} == 340
36 | ThisItem.Value:Open
37 | }
38 | while ${ThisItem:Next(exists)}
39 | }
40 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Item_UseAbyssalFilament.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 | /*
5 | * Test GetHangarItems
6 | *
7 | * Revision $Id$
8 | *
9 | * Requirements:
10 | * Docked, have items in station hangar
11 | *
12 | */
13 |
14 |
15 | function main()
16 | {
17 | variable index:item Items
18 | variable string MethodStr = "Me.Station:GetHangarItems"
19 |
20 | EVE:Execute[OpenHangarFloor]
21 | wait 15
22 |
23 | Me.Station:GetHangarItems[Items]
24 | variable iterator ThisItem
25 | Items:GetIterator[ThisItem]
26 | if ${ThisItem:First(exists)}
27 | {
28 | do
29 | {
30 | ; Freight Container 649 General Freight Container
31 | ; Secure Cargo Container 340 Giant Secure Container
32 | if ${ThisItem.Value.Name.Equal["Calm Firestorm Filament"]}
33 | {
34 | echo "Activating ${ThisItem.Value.ID} ${ThisItem.Value.Name}"
35 | ThisItem.Value:UseAbyssalFilament
36 | break
37 | }
38 | }
39 | while ${ThisItem:Next(exists)}
40 | }
41 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Me.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 | /*
5 | Test: Me (character datatype)
6 | Requirements: Logged in
7 |
8 | */
9 | function main()
10 | {
11 | variable int StartTime = ${Script.RunningTime}
12 | variable int EndTime
13 |
14 | variable obj_LSTypeIterator ItemTest = "character"
15 |
16 | ItemTest:ParseMembers
17 | ItemTest.ExcludedMembers:Add["Corporation"]
18 | ItemTest:IterateMembers["Me"]
19 | ;ItemTest:WriteTestScript["Me"]
20 |
21 | EndTime:Set[${Script.RunningTime}]
22 | echo "Testing of datatype ${ItemTest.TypeName} completed in ${Math.Calc[(${EndTime}-${StartTime}) / 1000]} seconds"
23 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Me_GetActiveDroneIDs.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Test GetActiveDroneIDs [Shiva]
7 | * Requires: Must be in space.
8 | */
9 |
10 |
11 | function main()
12 | {
13 | variable obj_LSTypeIterator ItemTest = "int64"
14 | variable string MethodStr = "Me:GetActiveDroneIDs"
15 |
16 | #include "../_Testcase_MethodStr_Body.iss"
17 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Me_GetActiveDrones.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Test GetActiveDrones
7 | * Requires: Must be in space.
8 | * Note: Detects ALL drones in space that are in your window.
9 | */
10 |
11 |
12 | function main()
13 | {
14 | variable obj_LSTypeIterator ItemTest = "activedrone"
15 | variable string MethodStr = "Me:GetActiveDrones"
16 |
17 | #include "../_Testcase_MethodStr_Body.iss"
18 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Me_GetAssets.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Test GetAssets (Listed as GetAssets) [Shiva]
7 | *
8 | * Revision $Id$
9 | *
10 | * Requirements:
11 | * Open Assets window & Have a Station Micro-tabbed out.
12 | *
13 | * Note: Only lists assets cache'd already :(
14 | * Can't get around the 5 mins enforced min update time of assets.
15 | */
16 |
17 | #define WITH_STATIONID 0
18 |
19 | function main()
20 | {
21 | variable obj_LSTypeIterator ItemTest = "item"
22 | variable string MethodStr = "Me:GetAssets"
23 | variable string MethodStrParam = "60012157"
24 |
25 | if !${EVEWindow[ByCaption,"ASSETS"](exists)}
26 | {
27 | EVE:Execute[OpenAssets]
28 | wait 50
29 | }
30 |
31 | #include "../_Testcase_MethodStr_Body.iss"
32 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Me_GetAttackers.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 | #include ../../Support/TestAPI.iss
3 |
4 | /*
5 | Test GetAttackers
6 |
7 | Revision $Id$
8 |
9 | Requirements:
10 | You: In Space
11 | Other1: Shooting you
12 | */
13 |
14 | function main()
15 | {
16 | variable obj_LSTypeIterator ItemTest = "attacker"
17 | variable string MethodStr = "Me:GetAttackers"
18 |
19 | #include "../_Testcase_MethodStr_Body.iss"
20 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Me_GetJammers.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 | #include ../../Support/TestAPI.iss
3 |
4 | /*
5 | Test GetJammers
6 |
7 | Revision $Id$
8 |
9 | Requirements:
10 | You: In Space
11 | Other1: Jamming you
12 | */
13 |
14 | function main()
15 | {
16 | variable obj_LSTypeIterator ItemTest = "jammer"
17 | variable string MethodStr = "Me:GetJammers"
18 |
19 | #include "../_Testcase_MethodStr_Body.iss"
20 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Me_GetMyOrders.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Test retrieval of character's market orders
7 | *
8 | * Revision $Id: test_DoGetMyOrders.iss 1190 2009-06-16 21:46:32Z cybertech $
9 | *
10 | * Requirements:
11 | *
12 | */
13 |
14 | function main()
15 | {
16 | variable index:myorder OrderIndex
17 |
18 | variable int RTime = ${Script.RunningTime}
19 | Me:UpdateMyOrders
20 | echo "- UpdateMyOrders took ${Math.Calc[${Script.RunningTime}-${RTime}]} ms."
21 |
22 | wait 10
23 |
24 | RTime:Set[${Script.RunningTime}]
25 | while !${Me:GetMyOrders[OrderIndex](exists)}
26 | {
27 | wait 10
28 | }
29 | echo "- GetMyOrders took ${Math.Calc[${Script.RunningTime}-${RTime}]} ms for ${OrderIndex.Used} orders"
30 |
31 |
32 | variable iterator OrderIterator
33 | OrderIndex:GetIterator[OrderIterator]
34 |
35 | if ${OrderIterator:First(exists)}
36 | {
37 | do
38 | {
39 | echo "==============================================================="
40 | echo OrderIterator.Value.Price : ${OrderIterator.Value.Price}
41 | echo OrderIterator.Value.InitialQuantity : ${OrderIterator.Value.InitialQuantity}
42 | echo OrderIterator.Value.QuantityRemaining : ${OrderIterator.Value.QuantityRemaining}
43 | echo OrderIterator.Value.MinQuantityToBuy : ${OrderIterator.Value.MinQuantityToBuy}
44 | echo OrderIterator.Value.ID : ${OrderIterator.Value.ID}
45 | echo OrderIterator.Value.TimeStampWhenIssued : ${OrderIterator.Value.TimeStampWhenIssued}
46 | echo OrderIterator.Value.DateWhenIssued : ${OrderIterator.Value.DateWhenIssued}
47 | echo OrderIterator.Value.TimeWhenIssued : ${OrderIterator.Value.TimeWhenIssued}
48 | echo OrderIterator.Value.Duration : ${OrderIterator.Value.Duration}
49 | echo OrderIterator.Value.StationID : ${OrderIterator.Value.StationID}
50 | echo OrderIterator.Value.Station : ${OrderIterator.Value.Station}
51 | echo OrderIterator.Value.RegionID : ${OrderIterator.Value.RegionID}
52 | echo OrderIterator.Value.Region : ${OrderIterator.Value.Region}
53 | echo OrderIterator.Value.SolarSystemID : ${OrderIterator.Value.SolarSystemID}
54 | echo OrderIterator.Value.SolarSystem : ${OrderIterator.Value.SolarSystem}
55 | echo OrderIterator.Value.Range : ${OrderIterator.Value.Range}
56 | echo OrderIterator.Value.TypeID : ${OrderIterator.Value.TypeID}
57 | echo OrderIterator.Value.Name : ${OrderIterator.Value.Name}
58 | echo OrderIterator.Value.IsContraband : ${OrderIterator.Value.IsContraband}
59 | echo OrderIterator.Value.IsCorp : ${OrderIterator.Value.IsCorp}
60 | echo OrderIterator.Value.IsSellOrder : ${OrderIterator.Value.IsSellOrder}
61 | echo OrderIterator.Value.IsBuyOrder : ${OrderIterator.Value.IsBuyOrder}
62 | }
63 | while ${OrderIterator:Next(exists)}
64 | }
65 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Me_GetSkillQueue.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test Me:GetSkillQueue
7 | Test queuedskill (Being) Member Iteration
8 |
9 |
10 | Revision $Id$
11 |
12 | Requirements:
13 | Populated Skill Queue
14 | Skill Queue Window Must be open
15 | */
16 |
17 | function main()
18 | {
19 | variable obj_LSTypeIterator ItemTest = "queuedskill"
20 | variable string MethodStr = "Me:GetSkillQueue"
21 |
22 | #include "../_Testcase_MethodStr_Body.iss"
23 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Me_GetStationsWithAssets.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 | /*
5 | * Test GetStationsWithAssets
6 | *
7 | * Requirements:
8 | * Open assets window
9 | *
10 | */
11 |
12 |
13 | function main()
14 | {
15 | variable obj_LSTypeIterator ItemTest = "int64"
16 | variable string MethodStr = "Me:GetStationsWithAssets"
17 |
18 | if !${EVEWindow[ByCaption,"ASSETS"](exists)}
19 | {
20 | EVE:Execute[OpenAssets]
21 | wait 50
22 | }
23 |
24 | #include "../_Testcase_MethodStr_Body.iss"
25 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Me_GetTargetedBy.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 | #include ../../Support/TestAPI.iss
3 |
4 | /*
5 | Test Me:GetTargetedBy
6 |
7 | Revision $Id$
8 |
9 | Requirements:
10 | You: Be targeted by other players or NPCs
11 | */
12 |
13 | function main()
14 | {
15 | variable obj_LSTypeIterator ItemTest = "entity"
16 | variable string MethodStr = "Me:GetTargetedBy"
17 |
18 | #include "../_Testcase_MethodStr_Body.iss"
19 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Me_GetTargeting.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 | #include ../../Support/TestAPI.iss
3 |
4 | /*
5 | Test Me:GetTargeting
6 |
7 | Revision $Id$
8 |
9 | Requirements:
10 | You: Be targeting things
11 | */
12 |
13 | function main()
14 | {
15 | variable obj_LSTypeIterator ItemTest = "entity"
16 | variable string MethodStr = "Me:GetTargeting"
17 |
18 | #include "../_Testcase_MethodStr_Body.iss"
19 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Me_GetTargets.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 | #include ../../Support/TestAPI.iss
3 |
4 | /*
5 | Test Me:GetTargets
6 |
7 | Revision $Id$
8 |
9 | Requirements:
10 | You: Have targets
11 | */
12 |
13 | function main()
14 | {
15 | variable obj_LSTypeIterator ItemTest = "entity"
16 | variable string MethodStr = "Me:GetTargets"
17 |
18 | #include "../_Testcase_MethodStr_Body.iss"
19 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Module_GetAvailableAmmo.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Test GetAvailableAmmo [Shiva]
7 | *
8 | * Requirements:
9 | * Cargohold having been opened prior.
10 | * Must be in space.
11 | *
12 | */
13 |
14 | function main()
15 | {
16 | if ${Me.InStation}
17 | {
18 | echo Can't be done while in a station.
19 | return
20 | }
21 |
22 | variable index:item AmmoIndex
23 | variable index:module ModuleIndex
24 |
25 | MyShip:GetModules[ModuleIndex]
26 |
27 | variable iterator ModuleIterator
28 |
29 | ModuleIndex:GetIterator[ModuleIterator]
30 |
31 | if ${ModuleIterator:First(exists)}
32 | {
33 | do
34 | {
35 | if ${ModuleIterator.Value.Charge(exists)}
36 | {
37 | ModuleIterator.Value:GetAvailableAmmo[AmmoIndex]
38 |
39 | echo ${ModuleIterator.Value.ToItem.Name} has ${AmmoIndex.Used} types of ammo in cargo.
40 |
41 | variable iterator AmmoIterator
42 | AmmoIndex:GetIterator[AmmoIterator]
43 |
44 | if ${AmmoIterator:First(exists)}
45 | {
46 | do
47 | {
48 | echo - ${AmmoIterator.Value.Name}
49 | }
50 | while ${AmmoIterator:Next(exists)}
51 | }
52 | }
53 | else
54 | echo ${ModuleIterator.Value.ToItem.Name} doesn't use charges.
55 | }
56 | while ${ModuleIterator:Next(exists)}
57 | }
58 | else
59 | {
60 | echo None of your Modules require charges.
61 | }
62 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/MyShip_GetCargo.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 | /*
5 | * Test MyShip:GetCarg
6 | *
7 | * Revision $Id: Station_GetHangarItems.iss 2131 2012-01-09 21:21:12Z CyberTech $
8 | *
9 | * Requirements:
10 | * Have items in ship cargo
11 | *
12 | */
13 |
14 |
15 | function main()
16 | {
17 | variable obj_LSTypeIterator ItemTest = "item"
18 | variable string MethodStr = "MyShip:GetCargo"
19 |
20 | MyShip:Open
21 | wait 15
22 |
23 | #include "../_Testcase_MethodStr_Body.iss"
24 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/MyShip_GetModules.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test Modules
7 | */
8 |
9 | function main()
10 | {
11 | variable obj_LSTypeIterator ItemTest = "module"
12 | variable string MethodStr = "MyShip:GetModules"
13 |
14 | #include "../_Testcase_MethodStr_Body.iss"
15 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/MyShip_GetOreHoldCargo.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 | /*
5 | * Test MyShip:GetOreHoldCargo
6 | *
7 | *
8 | * Requirements:
9 | * Have items in ship ore hold
10 | *
11 | */
12 |
13 |
14 | function main()
15 | {
16 | variable obj_LSTypeIterator ItemTest = "item"
17 | variable string MethodStr = "MyShip:GetOreHoldCargo"
18 |
19 | if !${MyShip.HasOreHold}
20 | {
21 | echo "Test skipped - MyShip.HasOreHold == false"
22 | return
23 | }
24 | MyShip:Open
25 | wait 15
26 |
27 | #include "../_Testcase_MethodStr_Body.iss"
28 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/MyShip_Scanner_Cargo.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test retrieval of cargo scanner module results
7 |
8 | Revision $Id: MyShip_Scanner_Ship.iss 2869 2013-08-19 20:56:22Z CyberTech $
9 |
10 | Requirements:
11 | 1) In Space
12 | 2) Inside a ship
13 | 3) Have Cargo Scanner module fitted
14 | 4) Have target to scan
15 | */
16 |
17 | function main()
18 | {
19 | EVEWindow[ByCaption, "${Me.ActiveTarget.Name} Cargo Scan Results"]:Close
20 | MyShip.Scanners.Cargo[${MyShip.Module[MedSlot4].ID}]:StartScan[${Me.ActiveTarget}]
21 | wait 50
22 |
23 | declarevariable Entities index:entity script
24 | declarevariable EntityIterator iterator script
25 |
26 | EVE:QueryEntities[Entities]
27 | Entities:GetIterator[EntityIterator]
28 |
29 | variable uint QueryID
30 | variable string Filter = "HasCargoScannerResults != 1"
31 |
32 | QueryID:Set[${LavishScript.CreateQuery[${Filter}]}]
33 | if ${QueryID} == 0
34 | {
35 | UI:UpdateConsole["LavishScript.CreateQuery: '${Filter}' query addition FAILED"]
36 | return 0
37 | }
38 |
39 | Entities:RemoveByQuery[${QueryID}]
40 |
41 | declarevariable TestIndex index:string script
42 | declarevariable TestIterator iterator script
43 |
44 | if ${EntityIterator:First(exists)}
45 | do
46 | {
47 | echo ${EntityIterator.Value}: ${EntityIterator.Value.Name}
48 | EntityIterator.Value:GetCargoScannerResults[TestIndex]
49 | TestIndex:GetIterator[TestIterator]
50 |
51 | if ${TestIterator:First(exists)}
52 | do
53 | {
54 | echo ${TestIterator.Value}
55 | }
56 | while ${TestIterator:Next(exists)}
57 | }
58 | while ${EntityIterator:Next(exists)}
59 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/MyShip_Scanner_Directional.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test retrieval of directional scan results
7 |
8 | Revision $Id$
9 |
10 | Requirements:
11 | 1) In Space
12 | 2) Inside a ship
13 | */
14 |
15 | function main()
16 | {
17 | declarevariable ResultIndex index:scannerdirectionalresult script
18 | declarevariable TestIterator iterator script
19 | variable obj_LSTypeIterator ItemTest = "scannerdirectionalresult"
20 | variable int RTime
21 |
22 | ResultIndex:GetIterator[TestIterator]
23 | ItemTest:ParseMembers
24 |
25 | RTime:Set[${Script.RunningTime}]
26 |
27 | if !${MyShip.Scanners.Directional:StartScan[](exists)}
28 | {
29 | echo "StartScan Failed!"
30 | Script:End
31 | }
32 | else
33 | {
34 | echo "- StartDirectionalScan took ${Math.Calc[${Script.RunningTime}-${RTime}]} ms."
35 | }
36 |
37 | wait 5
38 |
39 | while !${MyShip.Scanners.Directional:GetScanResults[ResultIndex](exists)}
40 | {
41 | echo "Waiting for scanner results..."
42 | wait 20
43 | }
44 | echo "- GetScanResults returned ${ResultIndex.Used} directional results in ${Math.Calc[${Script.RunningTime}-${RTime}]} ms."
45 | variable uint QueryID
46 | variable string Filter = "ToEntity.Distance < 1"
47 |
48 | QueryID:Set[${LavishScript.CreateQuery[${Filter}]}]
49 | if ${QueryID} == 0
50 | {
51 | UI:UpdateConsole["LavishScript.CreateQuery: '${Filter}' query addition FAILED"]
52 | return 0
53 | }
54 |
55 | ResultIndex:RemoveByQuery[${QueryID}, true]
56 |
57 | if ${TestIterator:First(exists)}
58 | do
59 | {
60 | echo ${TestIterator.Value.ToEntity.Name}
61 | ItemTest:IterateMembers["TestIterator.Value"]
62 | }
63 | while ${TestIterator:Next(exists)}
64 |
65 | echo "- GetScanResults returned ${ResultIndex.Used} directional results in ${Math.Calc[${Script.RunningTime}-${RTime}]} ms."
66 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/MyShip_Scanner_Ship.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test retrieval of ship scanner module results
7 |
8 | Revision $Id$
9 |
10 | Requirements:
11 | 1) In Space
12 | 2) Inside a ship
13 | 3) Have Ship Scanner module fitted
14 | 4) Have target to scan
15 | */
16 |
17 | function main()
18 | {
19 | EVEWindow[ByCaption, "${Me.ActiveTarget.Name} Scan Result"]:Close
20 | MyShip.Scanners.Ship[${MyShip.Module[MedSlot3].ID}]:StartScan[${Me.ActiveTarget}]
21 | wait 30 ${EVEWindow[ByCaption, "${Me.ActiveTarget.Name} Scan Result"](exists)}
22 |
23 | declarevariable Entities index:entity script
24 | declarevariable EntityIterator iterator script
25 |
26 | EVE:QueryEntities[Entities]
27 | Entities:GetIterator[EntityIterator]
28 |
29 | variable uint QueryID
30 | variable string Filter = "HasShipScannerResults != 1"
31 |
32 | QueryID:Set[${LavishScript.CreateQuery[${Filter}]}]
33 | if ${QueryID} == 0
34 | {
35 | UI:UpdateConsole["LavishScript.CreateQuery: '${Filter}' query addition FAILED"]
36 | return 0
37 | }
38 |
39 | Entities:RemoveByQuery[${QueryID}]
40 |
41 | declarevariable TestIndex index:string script
42 | declarevariable TestIterator iterator script
43 |
44 | if ${EntityIterator:First(exists)}
45 | do
46 | {
47 | echo ${EntityIterator.Value}: ${EntityIterator.Value.Name} ShipScannerCapacitorCapacity: ${EntityIterator.Value.ShipScannerCapacitorCapacity} ShipScannerCapacitorCharge: ${EntityIterator.Value.ShipScannerCapacitorCharge}
48 | EntityIterator.Value:GetShipScannerResults[TestIndex]
49 | TestIndex:GetIterator[TestIterator]
50 |
51 | if ${TestIterator:First(exists)}
52 | do
53 | {
54 | echo ${TestIterator.Value}
55 | }
56 | while ${TestIterator:Next(exists)}
57 | }
58 | while ${EntityIterator:Next(exists)}
59 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/MyShip_Scanner_Survey.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test survey module activation and retrieval of survey scanner module results via Entity results
7 |
8 | Requirements:
9 | 1) In Space
10 | 2) Inside a ship
11 | 3) Have Survey Scanner module fitted
12 | 4) Be within your survey module range of 1 or more asteroids
13 | */
14 |
15 | function main()
16 | {
17 | EVEWindow[ByCaption, "Survey Scan Results"]:Close
18 |
19 | echo "Starting survey scan..."
20 | MyShip.Scanners.Survey[${MyShip.Module[MedSlot1].ID}]:StartScan
21 | ; should not be necessary, the above should have activated it
22 | ;MyShip.Module[MedSlot1]:Activate
23 |
24 | echo "Waiting for module cycle..."
25 | wait 50 ${EVEWindow[ByCaption, "Survey Scan Results"](exists)}
26 | wait 5
27 |
28 | declarevariable Entities index:entity script
29 | declarevariable EntityIterator iterator script
30 |
31 | EVE:QueryEntities[Entities]
32 | Entities:GetIterator[EntityIterator]
33 |
34 | variable uint QueryID
35 | variable string Filter = "SurveyScannerOreQuantity = -1"
36 |
37 | QueryID:Set[${LavishScript.CreateQuery[${Filter}]}]
38 | if ${QueryID} == 0
39 | {
40 | UI:UpdateConsole["LavishScript.CreateQuery: '${Filter}' query addition FAILED"]
41 | return 0
42 | }
43 |
44 | Entities:RemoveByQuery[${QueryID}, true]
45 |
46 | if ${EntityIterator:First(exists)}
47 | do
48 | {
49 | echo ${EntityIterator.Value}: ${EntityIterator.Value.Name} ${EntityIterator.Value.Distance} Ore: ${EntityIterator.Value.SurveyScannerOreQuantity}
50 | }
51 | while ${EntityIterator:Next(exists)}
52 |
53 | UI:UpdateConsole["EVE:QueryEntities: ${Entities.Used} asteroids"]
54 |
55 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/MyShip_Scanner_System.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test retrieval of system scanner modules and methods EXCEPT for GetAnomalies/GetSignatures
7 |
8 | Revision $Id$
9 |
10 | Requirements:
11 | 1) In Space
12 | 2) Inside a ship
13 | */
14 |
15 | function main()
16 | {
17 | echo "Enabling sensor overlay..."
18 | MyShip.Scanners.System:EnableSensorOverlay
19 | wait 10
20 | if ${MyShip.Scanners.System.IsSensorOverlayActive}
21 | echo MyShip.Scanners.System.IsSensorOverlayActive == TRUE (PASS)
22 | else
23 | echo MyShip.Scanners.System.IsSensorOverlayActive != TRUE (FAIL)
24 |
25 | echo "Disabling sensor overlay..."
26 | MyShip.Scanners.System:DisableSensorOverlay
27 | wait 10
28 | if ${MyShip.Scanners.System.IsSensorOverlayActive}
29 | echo MyShip.Scanners.System.IsSensorOverlayActive == TRUE (FAIL)
30 | else
31 | echo MyShip.Scanners.System.IsSensorOverlayActive != TRUE (PASS)
32 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/MyShip_Scanner_System_GetAnomalies.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test GetAnomalies method of the systemscanner datatype
7 |
8 | Revision $Id: MyShip_Scanner_Ship.iss 2869 2013-08-19 20:56:22Z CyberTech $
9 |
10 | Requirements:
11 | 1) In Space
12 | 2) Inside a ship
13 | */
14 |
15 | function main()
16 | {
17 | variable obj_LSTypeIterator ItemTest = "systemanomalies"
18 | variable string MethodStr = "MyShip.Scanners.System:GetAnomalies"
19 |
20 | #include "../_Testcase_MethodStr_Body.iss"
21 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/MyShip_Scanner_System_GetSignatures.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test GetSignatures method of the systemscanner datatype
7 |
8 | Revision $Id: MyShip_Scanner_Ship.iss 2869 2013-08-19 20:56:22Z CyberTech $
9 |
10 | Requirements:
11 | 1) In Space
12 | 2) Inside a ship
13 | */
14 |
15 | function main()
16 | {
17 | variable obj_LSTypeIterator ItemTest = "systemsignature"
18 | variable string MethodStr = "MyShip.Scanners.System:GetSignatures"
19 |
20 | #include "../_Testcase_MethodStr_Body.iss"
21 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/ProbeScanner_Anoms.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Read what is in the probe scanner window
7 | *
8 | *
9 | *
10 | * Tests:
11 | * Trying to find what the different anom anmes are
12 | *
13 | *
14 | * Requirements:
15 | * You: In spcae
16 | * Probe Scanner window open and active
17 | */
18 |
19 | function main()
20 | {
21 | variable index:systemanomaly MyAnomalies
22 | variable iterator MyAnomalies_Iterator
23 |
24 | MyShip.Scanners.System:GetAnomalies[MyAnomalies]
25 | MyAnomalies:GetIterator[MyAnomalies_Iterator]
26 |
27 | if ${MyAnomalies_Iterator:First(exists)}
28 | {
29 | do
30 | {
31 | echo ${Time}: ------------------ ${MyAnomalies_Iterator.Value.Name} ------------------
32 | echo ${Time}: ID: ${MyAnomalies_Iterator.Value}
33 | echo ${Time}: Difficulty: ${MyAnomalies_Iterator.Value.Difficulty}
34 | echo ${Time}: DungeonID: ${MyAnomalies_Iterator.Value.DungeonID}
35 | echo ${Time}: DungeonName: ${MyAnomalies_Iterator.Value.DungeonName}
36 | echo ${Time}: Faction: ${MyAnomalies_Iterator.Value.Faction}
37 | echo ${Time}: FactionID: ${MyAnomalies_Iterator.Value.FactionID}
38 | echo ${Time}: Group: ${MyAnomalies_Iterator.Value.Group}
39 | echo ${Time}: GroupID: ${MyAnomalies_Iterator.Value.GroupID}
40 | echo ${Time}: IsWarpable: ${MyAnomalies_Iterator.Value.IsWarpable}
41 | echo ${Time}: ScanStrength: ${MyAnomalies_Iterator.Value.ScanStrength}
42 | echo ${Time}: SignalStrength: ${MyAnomalies_Iterator.Value.SignalStrength}
43 | echo ${Time}: ToEntity.Distance: ${Entity[${MyAnomalies_Iterator.Value}].Distance}
44 | }
45 | while ${MyAnomalies_Iterator:Next(exists)}
46 | }
47 |
48 |
49 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/ProbeScanner_Anoms_Test.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | * Read what is in the probe scanner window
7 | *
8 | *
9 | *
10 | * Tests:
11 | * Trying to find what the different anom anmes are
12 | *
13 | *
14 | * Requirements:
15 | * You: In spcae
16 | * Probe Scanner window open and active
17 | */
18 |
19 | function main()
20 | {
21 | variable index:systemanomaly MyAnomalies
22 | variable iterator MyAnomalies_Iterator
23 |
24 | MyShip.Scanners.System:GetAnomalies[MyAnomalies]
25 | MyAnomalies:GetIterator[MyAnomalies_Iterator]
26 |
27 | if ${MyAnomalies_Iterator:First(exists)}
28 | {
29 | do
30 | {
31 | if (${MyAnomalies_Iterator.Value.DungeonID} == 110980)
32 | {
33 | echo ${Time}: ------------------ ${MyAnomalies_Iterator.Value.Name} ------------------
34 | echo ${Time}: ID: ${MyAnomalies_Iterator.Value}
35 | echo ${Time}: Difficulty: ${MyAnomalies_Iterator.Value.Difficulty}
36 | echo ${Time}: DungeonID: ${MyAnomalies_Iterator.Value.DungeonID}
37 | echo ${Time}: DungeonName: ${MyAnomalies_Iterator.Value.DungeonName}
38 | echo ${Time}: Faction: ${MyAnomalies_Iterator.Value.Faction}
39 | echo ${Time}: FactionID: ${MyAnomalies_Iterator.Value.FactionID}
40 | echo ${Time}: Group: ${MyAnomalies_Iterator.Value.Group}
41 | echo ${Time}: GroupID: ${MyAnomalies_Iterator.Value.GroupID}
42 | echo ${Time}: IsWarpable: ${MyAnomalies_Iterator.Value.IsWarpable}
43 | echo ${Time}: ScanStrength: ${MyAnomalies_Iterator.Value.ScanStrength}
44 | echo ${Time}: SignalStrength: ${MyAnomalies_Iterator.Value.SignalStrength}
45 | MyAnomalies_Iterator.Value:WarpTo[30000, FALSE]
46 | break
47 | }
48 | }
49 | while ${MyAnomalies_Iterator:Next(exists)}
50 | }
51 |
52 |
53 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Station_GetCorpHangarItems.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 | /*
5 | * Test GetCorpHangarItems
6 | *
7 | * Revision $Id$
8 | *
9 | * Requirements:
10 | * Docked, have items in station corp hangar, not be in a public corporation
11 | *
12 | */
13 |
14 |
15 | function main()
16 | {
17 | variable obj_LSTypeIterator ItemTest = "item"
18 | variable string MethodStr = "Me.Station:GetCorpHangarItems"
19 |
20 | EVE:Execute[OpenHangarFloor]
21 | wait 15
22 |
23 | #include "../_Testcase_MethodStr_Body.iss"
24 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Station_GetHangarItems.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 | /*
5 | * Test GetHangarItems
6 | *
7 | * Revision $Id$
8 | *
9 | * Requirements:
10 | * Docked, have items in station hangar
11 | *
12 | */
13 |
14 |
15 | function main()
16 | {
17 | variable obj_LSTypeIterator ItemTest = "item"
18 | variable string MethodStr = "Me.Station:GetHangarItems"
19 |
20 | EVE:Execute[OpenHangarFloor]
21 | wait 15
22 |
23 | #include "../_Testcase_MethodStr_Body.iss"
24 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/Station_GetHangarShips.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 | /*
5 | * Test GetHangarItems
6 | *
7 | * Revision $Id$
8 | *
9 | * Requirements:
10 | * Docked
11 | * Have items in station hangar
12 | *
13 | */
14 |
15 |
16 | function main()
17 | {
18 | variable obj_LSTypeIterator ItemTest = "item"
19 | variable string MethodStr = "Me.Station:GetHangarShips"
20 |
21 | EVE:Execute[OpenShipHangar]
22 | wait 15
23 |
24 | #include "../_Testcase_MethodStr_Body.iss"
25 | }
--------------------------------------------------------------------------------
/Testcases/ISXEVE/test_Drones.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test Drone Launch, Recall, ID collection, activedrone member, engage
7 |
8 | Revision $Id$
9 |
10 | Requirements:
11 | You: In Space
12 | Other1: In Fleet, In Space, Targeted
13 | */
14 |
15 | function main()
16 | {
17 | variable index:int64 ActiveDroneIDList
18 | variable index:activedrone ActiveDroneList
19 | variable index:item DroneBayDrones
20 |
21 | while TRUE
22 | {
23 | UI:UpdateConsole["Drone Bay Capacity: ${MyShip.DronebayCapacity}"]
24 |
25 | MyShip:OpenCargo
26 | wait 30
27 |
28 | MyShip:GetDrones[DroneBayDrones]
29 | UI:UpdateConsole["Launching ${DroneBayDrones.Used} drones..."]
30 | EVE:LaunchDrones[DroneBayDrones]
31 | wait 50
32 |
33 | Me:GetActiveDrones[ActiveDroneList]
34 | UI:UpdateConsole["Drones in Space after 5 seconds: ${ActiveDroneList.Used}"]
35 |
36 | UI:UpdateConsole[" Drone 1 ID: ${ActiveDroneList.Get[1].ID}"]
37 | UI:UpdateConsole[" Drone 1 Name: ${ActiveDroneList.Get[1].ToEntity.Name}"]
38 | UI:UpdateConsole[" Drone 1 Type: ${ActiveDroneList.Get[1].ToEntity.Type}"]
39 | UI:UpdateConsole[" Drone 1 Owner: ${ActiveDroneList.Get[1].Owner}"]
40 | UI:UpdateConsole[" Drone 1 Controller: ${ActiveDroneList.Get[1].Owner}"]
41 |
42 | ;UI:UpdateConsole[" Engaging Drones..."]
43 | ;EVE:DronesEngageMyTarget[ActiveDroneIDList]
44 |
45 | wait 20
46 | Me:GetActiveDroneIDs[ActiveDroneIDList]
47 | while ${ActiveDroneIDList.Used}
48 | {
49 | UI:UpdateConsole[" Recalling ${ActiveDroneIDList.Used} Drones..."]
50 | EVE:DronesReturnToDroneBay[ActiveDroneIDList]
51 | wait 50
52 | Me:GetActiveDroneIDs[ActiveDroneIDList]
53 | }
54 | wait 20
55 | break
56 | }
57 | }
--------------------------------------------------------------------------------
/Testcases/TODO.txt:
--------------------------------------------------------------------------------
1 | #0 Convert All existing scripts to use LSTypeIterator - Me and GetHangarItems done already
2 | #1
3 | #2
4 | #3 Items with a . in front are already completed
5 | #4
6 | .GetActiveDroneIDs[}
7 | .GetActiveDrones[]
8 | .GetAgentMissions[]
9 | .GetAgents[]
10 | .GetAssets[,#] [Retrieves all items that match the StationID# given]
11 | .GetAssets[] [Retrieves all items that are in your assets window]
12 | .GetAvailableAmmo[]
13 | .GetBookmarks[]
14 | .GetContacts[]
15 | .GetCorpHangarItems[]
16 | .GetDrones[]
17 | .GetEntities[]
18 | .GetFleet[]
19 | .GetHangarItems[]
20 | .GetHangarShips[]
21 | .GetModules[]
22 | .GetPilots[]
23 | .GetSkillQueue[index:queuedskill]
24 | .GetStationsWithAssets[] [Retrieves a list of StationID#s where you currently have assets.]
25 | .GetTargetedBy[]
26 | .GetTargeting[]
27 | .GetTargets[]
28 | GetCargo[]
29 | GetMarketOrders[,"Buy",#] {retrieves all buy orders currently cached by your client for the given TypeID#}
30 | GetMarketOrders[,"Buy"] {retrieves all buy orders currently cached by your client}
31 | GetMarketOrders[,"Sell",#] {retrieves all sell orders currently cached by your client for the given TypeID#}
32 | GetMarketOrders[,"Sell"] {retrieves all sell orders currently cached by your client}
33 | GetMarketOrders[,#] {retrieves all buy/sell orders currently cached by your client for the given TypeID#}
34 | GetMarketOrders[] {retrieves all buy/sell orders currently cached by your client}
35 | GetMyOrders[,"Buy",#] {retrieves all *buy* "My Orders" cached by your client for the given TypeID#}
36 | GetMyOrders[,"Buy"] {retrieves all *buy* "My Orders" cached by your client}
37 | GetMyOrders[,"Sell",#] {retrieves all *sell* "My Orders" cached by your client for the given TypeID#}
38 | GetMyOrders[,"Sell"] {retrieves all *sell* "My Orders" cached by your client}
39 | GetMyOrders[,#] {retrieves all "My Orders" cached by your client for the given TypeID#}
40 | GetMyOrders[] {retrieves all "My Orders" cached by your client}
41 | GetOnlineCorpMembers[]
42 | GetServices[]
43 | GetSkills[]
44 | GetToDestinationPath[] [the index is populated with the "SystemIDs" of the systems along your current destination (autopilot) route]
45 | GetWaypoints[] [the index is populated with the "SystemIDs" of the waypoints in your current route]
46 |
--------------------------------------------------------------------------------
/Testcases/_Testcase_MethodStr_Body.iss:
--------------------------------------------------------------------------------
1 | variable int StartTime = ${Script.RunningTime}
2 | echo " "
3 | echo "* Testcase: ${MethodStr} starting"
4 |
5 | declarevariable TestIndex index:${ItemTest.TypeName} script
6 | declarevariable TestIterator iterator script
7 | variable float CallTime
8 |
9 | TestIndex:GetIterator[TestIterator]
10 | ItemTest:ParseMembers
11 |
12 | CallTime:Set[${Script.RunningTime}]
13 | if ${MethodStrParm(exists)}
14 | {
15 | noop ${${MethodStr}\[TestIndex, ${MethodStrParam}\]}
16 | }
17 | else
18 | {
19 | noop ${${MethodStr}\[TestIndex\]}
20 | }
21 | echo " * ${MethodStr} returned ${TestIndex.Used} ${ItemTest.TypeName}s in ${Math.Calc[(${Script.RunningTime}-${CallTime}) / 1000]} seconds"
22 |
23 | if ${TestIterator:First(exists)}
24 | do
25 | {
26 | ItemTest:IterateMembers["TestIterator.Value"]
27 | }
28 | while ${TestIterator:Next(exists)}
29 |
30 | echo "* Testcase: ${MethodStr} completed against ${TestIndex.Used} results in ${Math.Calc[(${Script.RunningTime}-${StartTime}) / 1000]} seconds"
31 | echo " "
--------------------------------------------------------------------------------
/Testcases/test_AmmoNames.iss:
--------------------------------------------------------------------------------
1 | function main()
2 | {
3 | echo "Ammo test case loaded, basing off HiSlot0"
4 |
5 | variable index:item idxAmmo
6 | variable iterator itrAmmo
7 |
8 | variable string sLoadedAmmo
9 | variable string sIteratedAmmo
10 |
11 | MyShip.Module[HiSlot0]:GetAvailableAmmo[idxAmmo]
12 | idxAmmo:GetIterator[itrAmmo]
13 |
14 | echo "itrAmmo:First(exists): ${itrAmmo:First(exists)}"
15 | if ${itrAmmo:First(exists)}
16 | {
17 | do
18 | {
19 | echo "Comparing currently loaded ammo (${MyShip.Module[HiSlot0].Charge.Name}) with current available ammo (${itrAmmo.Value.Name}). Strings equal? ${MyShip.Module[HiSlot0].Charge.Name.Find[${itrAmmo.Value.Name}]}"
20 | sLoadedAmmo:Set[${MyShip.Module[HiSlot0].Charge.Name}]
21 | sIteratedAmmo:Set[${itrAmmo.Value.Name}]
22 | echo "sLoadedAmmo: ${sLoadedAmmo}, sIteratedAmmo: ${sIteratedAmmo}, equal? ${sLoadedAmmo.Equal[${sIteratedAmmo}]}"
23 | echo "Module max charges: ${MyShip.Module[HiSlot0].MaxCharges}"
24 | if !${sLoadedAmmo.Equal[${sIteratedAmmo},${MyShip.Module[HiSlot0].MaxCharges}]}
25 | {
26 | echo "Changing ammo to currently iterated type at current number of charges and breaking."
27 | MyShip.Module[HiSlot0]:ChangeAmmo[${itrAmmo.Value.ID}]
28 | MyShip.Module[HiSlot1]:ChangeAmmo[${itrAmmo.Value.ID}]
29 | MyShip.Module[HiSlot2]:ChangeAmmo[${itrAmmo.Value.ID}]
30 | MyShip.Module[HiSlot3]:ChangeAmmo[${itrAmmo.Value.ID}]
31 | echo "IsReloading? ${MyShip.Module[HiSlot0].IsReloading}"
32 | break
33 | }
34 | }
35 | while ${itrAmmo:Next(exists)}
36 | }
37 | }
--------------------------------------------------------------------------------
/Testcases/test_DoGetEntities.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../Support/TestAPI.iss
4 |
5 | /*
6 | Test Entity Iteration
7 |
8 | */
9 |
10 | variable obj_UI UI
11 | function main()
12 | {
13 | variable int StartTime = ${Script.RunningTime}
14 | variable int StartTime2
15 |
16 | declarevariable Entities index:entity script
17 | declarevariable EntityIterator iterator script
18 |
19 | variable obj_LSTypeIterator ItemTest = "entity"
20 |
21 | ItemTest:ParseMembers
22 |
23 | EVE:DoGetEntities[Entities]
24 | variable float CallTime
25 | CallTime:Set[${Math.Calc[(${Script.RunningTime}-${StartTime}) / 1000]}]
26 | echo "EVE:DoGetEntities returned ${Entities.Used} entities in ${CallTime} seconds"
27 |
28 | Entities:GetIterator[EntityIterator]
29 | if ${EntityIterator:First(exists)}
30 | do
31 | {
32 | StartTime2:Set[${Script.RunningTime}]
33 | ItemTest:IterateMembers["EntityIterator.Value", TRUE, FALSE]
34 | echo "Single ${ItemTest.TypeName} dump completed ${Math.Calc[(${Script.RunningTime}-${StartTime2}) / 1000]} seconds"
35 | }
36 | while ${EntityIterator:Next(exists)}
37 |
38 | echo "EVE:DoGetEntities returned ${Entities.Used} entities in ${CallTime} seconds"
39 | echo "Testing of datatype ${ItemTest.TypeName} completed in ${Math.Calc[(${Script.RunningTime}-${StartTime}) / 1000]} seconds"
40 | }
--------------------------------------------------------------------------------
/Testcases/test_Obj_PulseTimer.iss:
--------------------------------------------------------------------------------
1 | #define TESTCASE 1
2 |
3 | #include ../../Support/TestAPI.iss
4 |
5 | /*
6 | Test: Me (character datatype)
7 | Requirements: Logged in
8 |
9 | */
10 | function main()
11 | {
12 | variable int EndTime
13 | variable obj_PulseTimer PulseTimer
14 | variable int StartTime = ${Script.RunningTime}
15 |
16 | PulseTimer:SetIntervals[2.5,4.0]
17 | PulseTimer:Update[FALSE]
18 |
19 | echo "PulseTimer Test:"
20 | while !${PulseTimer.Ready}
21 | {
22 | waitframe
23 | }
24 | EndTime:Set[${Script.RunningTime}]
25 | PulseTimer:Update[FALSE]
26 | while !${PulseTimer.Ready}
27 | {
28 | waitframe
29 | }
30 | EndTime:Set[${Script.RunningTime}]
31 |
32 | echo "PulseTimer completed in ${Math.Calc[(${EndTime}-${StartTime}) / 1000]} seconds"
33 | }
--------------------------------------------------------------------------------