Line data Source code
1 0 : /* 2 : 3 : ShipEntityAI.h 4 : 5 : Additional methods relating to behaviour/artificial intelligence. 6 : 7 : 8 : Oolite 9 : Copyright (C) 2004-2013 Giles C Williams and contributors 10 : 11 : This program is free software; you can redistribute it and/or 12 : modify it under the terms of the GNU General Public License 13 : as published by the Free Software Foundation; either version 2 14 : of the License, or (at your option) any later version. 15 : 16 : This program is distributed in the hope that it will be useful, 17 : but WITHOUT ANY WARRANTY; without even the implied warranty of 18 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 : GNU General Public License for more details. 20 : 21 : You should have received a copy of the GNU General Public License 22 : along with this program; if not, write to the Free Software 23 : Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 24 : MA 02110-1301, USA. 25 : 26 : */ 27 : 28 : #import "ShipEntity.h" 29 : 30 : @class AI, Universe, OOPlanetEntity; 31 : 32 : @interface ShipEntity (AI) 33 : 34 : // AI methods also used in other code. 35 : 36 0 : - (void) setAITo:(NSString *)aiString; 37 0 : - (void) setAIScript:(NSString *)aiString; 38 0 : - (void) switchAITo:(NSString *)aiString; 39 : 40 0 : - (void) scanForHostiles; 41 0 : - (BOOL) performHyperSpaceToSpecificSystem:(OOSystemID)systemID; 42 0 : - (void) scanForNearestIncomingMissile; 43 : 44 0 : - (void) enterTargetWormhole; 45 0 : - (void) enterPlayerWormhole; 46 : 47 0 : - (void) wormholeEscorts; 48 0 : - (void) wormholeEntireGroup; 49 : 50 0 : - (BOOL) suggestEscortTo:(ShipEntity *)mother; 51 : 52 0 : - (void) groupAttackTarget; 53 : 54 0 : - (void) performAttack; 55 0 : - (void) performCollect; 56 0 : - (void) performEscort; 57 0 : - (void) performFaceDestination; 58 0 : - (void) performFlee; 59 0 : - (void) performFlyToRangeFromDestination; 60 0 : - (void) performHold; 61 0 : - (void) performIdle; 62 0 : - (void) performIntercept; 63 0 : - (void) performLandOnPlanet; 64 0 : - (void) performMining; 65 0 : - (void) performScriptedAI; 66 0 : - (void) performScriptedAttackAI; 67 0 : - (void) performStop; 68 0 : - (void) performTumble; 69 : 70 0 : - (void) broadcastDistressMessage; 71 0 : - (void) broadcastDistressMessageWithDumping:(BOOL)dumpCargo; 72 : 73 0 : - (void) requestDockingCoordinates; 74 0 : - (void) recallDockingInstructions; 75 : 76 : 77 : @end