~harrison-rt/+junk/jaguar_company

« back to all changes in this revision

Viewing changes to tags/1.6/jaguar_company_1.6.oxp/AIs/jaguar_company_interceptAI.plist

  • Committer: Richard Harrison
  • Date: 2013-01-19 22:39:57 UTC
  • Revision ID: harrison.rt@gmail.com-20130119223957-lcuzmbsrx6o2bk8o
Tags: 1.6.2
* Bug fix for the ship script.
* Bug fix to the waypoint AI. Never exited the stock AI.
* Cascade Weapon detection actually works for pre v1.77
* Took the opportunity to clean up some files and re-do the textures.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* jaguar_company_interceptAI.plist for the Jaguar Company.
 
2
**
 
3
** Copyright (C) 2012 Tricky
 
4
**
 
5
** This work is licensed under the Creative Commons
 
6
** Attribution-Noncommercial-Share Alike 3.0 Unported License.
 
7
**
 
8
** To view a copy of this license, visit
 
9
** http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter
 
10
** to Creative Commons, 171 Second Street, Suite 300, San Francisco,
 
11
** California, 94105, USA.
 
12
**
 
13
** Intercept AI for the Jaguar Company.
 
14
** Based on interceptAI.plist without the wormhole states.
 
15
*/
 
16
 
 
17
{
 
18
    /* Switch the running lights on and enter attack mode. */
 
19
    GLOBAL =
 
20
    {
 
21
        ENTER = (switchLightsOn, "setStateTo: ATTACK_SHIP");
 
22
    };
 
23
 
 
24
    /* Attack the ship. */
 
25
    "ATTACK_SHIP" =
 
26
    {
 
27
        ENTER = ("setSpeedFactorTo: 1.0", performAttack);
 
28
        "CASCADE_WEAPON_DETECTED" = ("setStateTo: QBOMB_DETECTED");
 
29
        ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
 
30
        "INCOMING_MISSILE" = ("setStateTo: MISSILE_DETECTED", "randomPauseAI: 0.25 0.75");
 
31
        "ENERGY_LOW" = ("setStateTo: FLEE");
 
32
        "TARGET_DESTROYED" = (performIdle, switchLightsOff, exitAI);
 
33
        "TARGET_LOST" = (performIdle, switchLightsOff, exitAI);
 
34
        FRUSTRATED = (performIdle, switchLightsOff, exitAI);
 
35
        UPDATE = (performAttack, "sendScriptMessage: $detectQBomb", "pauseAI: 2.0");
 
36
    };
 
37
 
 
38
    /* General purpose fight or flee state. */
 
39
    FLEE =
 
40
    {
 
41
        ENTER = ("setDesiredRangeTo: 10000", "setSpeedFactorTo: 7.0", performFlee);
 
42
        "CASCADE_WEAPON_DETECTED" = ("setStateTo: QBOMB_DETECTED");
 
43
        ATTACKED = (fightOrFleeHostiles);
 
44
        FIGHTING = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
 
45
        FLEEING = (setTargetToPrimaryAggressor, "setStateTo: FLEE");
 
46
        "ENERGY_FULL" = ("setStateTo: ATTACK_SHIP");
 
47
        "TARGET_DESTROYED" = ("setSpeedFactorTo: 1.0", scanForHostiles);
 
48
        "TARGET_LOST" = ("setSpeedFactorTo: 1.0", scanForHostiles);
 
49
        "TARGET_FOUND" = (setTargetToFoundTarget, "setStateTo: ATTACK_SHIP");
 
50
        "NOTHING_FOUND" = (performIdle, switchLightsOff, exitAI);
 
51
        "REACHED_SAFETY" = ("setStateTo: ATTACK_SHIP");
 
52
        "INCOMING_MISSILE" = ("setStateTo: MISSILE_DETECTED", "randomPauseAI: 0.25 0.75");
 
53
        UPDATE = ("addFuel: 1.0", performFlee, "sendScriptMessage: $detectQBomb", "pauseAI: 5.0");
 
54
    };
 
55
 
 
56
    /* Either fight or flee from the missile. */
 
57
    "FLEE_FOR_MISSILE" = {
 
58
        ENTER = ("setDesiredRangeTo: 10000", "setSpeedFactorTo: 7.0", fightOrFleeMissile, "pauseAI: 5.0");
 
59
        "CASCADE_WEAPON_DETECTED" = ("setStateTo: QBOMB_DETECTED");
 
60
        ATTACKED = (fightOrFleeHostiles);
 
61
        FIGHTING = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
 
62
        FLEEING = (setTargetToPrimaryAggressor, "setStateTo: FLEE");
 
63
        "TARGET_DESTROYED" = ("setSpeedFactorTo: 1.0", scanForHostiles);
 
64
        "TARGET_LOST" = ("setSpeedFactorTo: 1.0", scanForHostiles);
 
65
        "TARGET_FOUND" = (setTargetToFoundTarget, "setStateTo: ATTACK_SHIP");
 
66
        "NOTHING_FOUND" = (performIdle, switchLightsOff, exitAI);
 
67
        "REACHED_SAFETY" = ("setStateTo: ATTACK_SHIP");
 
68
        "INCOMING_MISSILE" = ("setStateTo: MISSILE_DETECTED", "randomPauseAI: 0.25 0.75");
 
69
        UPDATE = ("addFuel: 1.0", fightOrFleeMissile, "sendScriptMessage: $detectQBomb", "pauseAI: 5.0");
 
70
    };
 
71
 
 
72
    /* Deal with incoming missiles. */
 
73
    "MISSILE_DETECTED" = {
 
74
        "CASCADE_WEAPON_DETECTED" = ("setStateTo: QBOMB_DETECTED");
 
75
        ATTACKED = ("setStateTo: ATTACK_SHIP", fightOrFleeMissile, setTargetToPrimaryAggressor);
 
76
        UPDATE = (setTargetToPrimaryAggressor, fightOrFleeMissile, "setStateTo: FLEE_FOR_MISSILE", "sendScriptMessage: $detectQBomb");
 
77
    };
 
78
 
 
79
    /* Run away (anywhere) as fast as possible. */
 
80
    "QBOMB_DETECTED" =
 
81
    {
 
82
        ENTER = ("setDesiredRangeTo: 51200.0", "setSpeedFactorTo: 7.0", performFlee);
 
83
        "CASCADE_WEAPON_DETECTED" = ("setStateTo: QBOMB_DETECTED");
 
84
                "REACHED_SAFETY" = (performIdle, "pauseAI: 10.0", switchLightsOff, exitAI);
 
85
        "DESIRED_RANGE_ACHIEVED" = (performIdle, "pauseAI: 10.0", switchLightsOff, exitAI);
 
86
        UPDATE = ("addFuel: 1.0", performFlee, "sendScriptMessage: $detectQBomb", "pauseAI: 5.0");
 
87
    };
 
88
}