Advertisement
Guest User

Spy

a guest
Jun 10th, 2012
464
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 8.17 KB | None | 0 0
  1. <!-- Spy.xml -->
  2. <?xml version="1.0" encoding="utf-8"?>
  3. <AssetDeclaration xmlns="uri:ea.com:eala:asset" xmlns:xai="uri:ea.com:eala:asset:instance" xmlns:xi="http://www.w3.org/2001/XInclude">
  4.  
  5.     <Includes>
  6.         <Include
  7.             type="instance"
  8.             source="DATA:BaseObjects/BaseInfantry.xml" />
  9.     </Includes>
  10.    
  11.     <LogicComamnd
  12.         id="Command_SpyKillSelf"
  13.         Type="SPECIAL_POWER">
  14.         <SpecialPower>SpySpecialAbilityKillSelf</SpecialPower>
  15.     </LogicCommand>
  16.    
  17.     <LogicComamnd
  18.         id="Command_SpyRadarHack"
  19.         Type="SPECIAL_POWER">
  20.         <SpecialPower>SpySpecialAbilityRadarHack</SpecialPower>
  21.     </LogicCommand>
  22.    
  23.     <LogicComamnd
  24.         id="Command_SpyStealMoney"
  25.         Type="SPECIAL_POWER">
  26.         <SpecialPower>SpySpecialAbilityStealMoney</SpecialPower>
  27.     </LogicCommand>
  28.    
  29.     <LogicComamnd
  30.         id="Command_SpyDisablePower"
  31.         Type="SPECIAL_POWER">
  32.         <SpecialPower>SpySpecialAbilityDisablePower</SpecialPower>
  33.     </LogicCommand>
  34.    
  35.     <SpecialPowerTemplate
  36.         id="SpySpecialAbilityKillSelf"
  37.         TargetType="NONE" />
  38.    
  39.     <SpecialPowerTemplate
  40.         id="SpySpecialAbilityRadarHack"
  41.         TargetType="OBJECT"
  42.         Flags="NEEDS_OBJECT_FILTER"
  43.         NameOfVoiceNameToUseAsInitiateIntendToDoVoice="SpyDoStuff">
  44.         <ObjectFilter
  45.             Relationship="ENEMIES"
  46.             Rule="ANY"
  47.             Include="FS_RADAR" />
  48.     </SpecialPowerTemplate>
  49.    
  50.     <SpecialPowerTemplate
  51.         id="SpySpecialAbilityStealMoney"
  52.         TargetType="OBJECT"
  53.         Flags="NEEDS_OBJECT_FILTER"
  54.         NameOfVoiceNameToUseAsInitiateIntendToDoVoice="SpyDoStuff">
  55.         <ObjectFilter
  56.             Relationship="ENEMIES"
  57.             Rule="ANY"
  58.             Include="FS_MONEY_STORAGE" />
  59.     </SpecialPowerTemplate>
  60.    
  61.     <SpecialPowerTemplate
  62.         id="SpySpecialAbilityDisablePower"
  63.         TargetType="OBJECT"
  64.         Flags="NEEDS_OBJECT_FILTER"
  65.         NameOfVoiceNameToUseAsInitiateIntendToDoVoice="SpyDoStuff">
  66.         <ObjectFilter
  67.             Relationship="ENEMIES"
  68.             Rule="ANY"
  69.             Include="FS_POWER" />
  70.     </SpecialPowerTemplate>
  71.    
  72.     <WeaponTemplate
  73.         id="SplyKillSelfBomb"
  74.         Name="SplyKillSelfBomb"
  75.         AttackRange="10"
  76.         RadiusDamageAffects="SUICIDE"
  77.         AntiMask="ANTI_GROUND"
  78.         CanFireWhileMoving="true">
  79.         <Nuggets>
  80.             <DamageNugget
  81.                 OnlyKillOwnerWhenTriggered="true"
  82.                 Damage="1337.0"
  83.                 Radius="0.0"
  84.                 DelayTimeSeconds="0"
  85.                 DamageType="BLAST"
  86.                 DeathType="SUICIDED" />
  87.         </Nuggets>
  88.     </WeaponTemplate>
  89.  
  90.     <WeaponTemplate
  91.         id="SpyDisablePowerBomb"
  92.         Name="SpyDisablePowerBomb"
  93.         AttackRange="99999.0"
  94.         WeaponSpeed="300"
  95.         RadiusDamageAffects="ENEMIES"
  96.         PreAttackType="PER_SHOT">
  97.         <Nuggets>
  98.             <AttributeModifierNugget
  99.                 AttributeModifierName="SpyDisablePowerModifier" />
  100.         </Nuggets>
  101.     </WeaponTemplate>
  102.    
  103.     <WeaponTemplate
  104.         id="DisablePowerPlantsBomb"
  105.         Name="DisablePowerPlantsBomb"
  106.         RadiusDamageAffects="ALLIES"
  107.         AntiMask="ANTI_GROUND ANTI_STRUCTURE">
  108.         <Nuggets>
  109.             <ParalyzeNugget
  110.                 Radius="-1.0"
  111.                 DurationSeconds="10s"
  112.                 ParalyzeType="EMP"
  113.                 ParalyzeFX="FX_AlienEMPHit">
  114.                 <SpecialObjectFilter
  115.                     Rule="ANY"
  116.                     Relationship="SAME_PLAYER"
  117.                     Include="FS_POWER" />
  118.             <ParalyzeNugget>
  119.         </Nuggets>
  120.     </WeaponTemplate>
  121.  
  122.     <AttributeModifier
  123.         id="SpyDisablePowerModifier"
  124.         Category="DEBUFF"
  125.         Duration="0.1s"
  126.         ModelConditionsSet="USER_75" />
  127.    
  128.     <GameObject
  129.         id="Spy"
  130.         inheritFrom="BaseInfantry"
  131.         SelectPortrait="Portrait_NODSaboteur"
  132.         ButtonImage="Portrait_NODSaboteur"
  133.         Side="NOD"
  134.         EditorSorting="UNIT"
  135.         TransportSlotCount="1"
  136.         BuildCost="500"
  137.         BuildTime="5"
  138.         CommandSet="NODSaboteurCommandSet"
  139.         IsTrainable="true"
  140.         KindOf="PRELOAD INFANTRY SELECTABLE ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SCORE CAN_BE_FAVORITE_UNIT PATH_THROUGH_INFANTRY SKIRMISH_AI_DONT_GARRISON ENGINEER"
  141.         RadarPriority="UNIT"
  142.         BuildCompletion="APPEARS_AT_RALLY_POINT"
  143.         ProductionQueueType="INFANTRY"
  144.         UnitCategory="INFANTRY"
  145.         VoicePriority="64"
  146.         EditorName="NODSaboteur"
  147.         Description="Desc:NODSaboteur"
  148.         TypeDescription="Type:NODSaboteur"
  149.         UnitTypeIcon="EngineerIcon">
  150.         <DisplayName>NOD:SaboteurName</DisplayName>
  151.         <ArmorSet
  152.             Armor="NODSaboteurArmor"
  153.             DamageFX="InfantryDamageFX" />
  154.         <LocomotorSet
  155.             Locomotor="HumanLocomotor"
  156.             Condition="NORMAL"
  157.             Speed="36" />
  158.         <Draws>
  159.             <xi:include
  160.                 href="DATA:NOD/Units/NODSaboteur.xml"
  161.                 xpointer="xmlns(n=uri:ea.com:eala:asset) xpointer(/n:AssetDeclaration/n:GameObject/n:Draws/child::*)" />
  162.         </Draws>
  163.         <Behaviors>
  164.             <Physics
  165.                 id="ModuleTag_07" />
  166.             <ProductionUpdate
  167.                 id="ModuleTag_08" />
  168.             <EmotionTrackerUpdate
  169.                 id="Module_ETU">
  170.                 <TauntAndPointExcluded
  171.                     Rule="NONE" />
  172.                 <AddEmotion>CheerIdle_Base</AddEmotion>
  173.                 <AddEmotion>CheerBusy_Base</AddEmotion>
  174.             </EmotionTrackerUpdate>
  175.             <SlowDeath
  176.                 id="ModuleTag_SlowDeath"
  177.                 SinkDelay="3s"
  178.                 SinkRate="2.4"
  179.                 DestructionDelay="4.5s">
  180.                 <DieMuxData
  181.                     DeathTypes="ALL -SUICIDED" />
  182.                 <Sound
  183.                     Type="INITIAL"
  184.                     List="NOD_Saboteur_VoiceDie" />
  185.             </SlowDeath>
  186.             <SpecialPower
  187.                 id="ModuleTag_KillSelf"
  188.                 SpecialPowerTemplate="SpySpecialAbilityKillSelf"
  189.                 UpdateModuleStartsAttack="true" />
  190.             <WeaponFireSpecialAbilityUpdate
  191.                 id="ModuleTag_KillSelfUpdate"
  192.                 SpecialPowerTemplate="SpySpecialAbilityKillSelf"
  193.                 SpecialWeapon="SplyKillSelfBomb"
  194.                 UnpackTime="0s"
  195.                 PackTime="0s"
  196.                 BusyForDuration="0s"
  197.                 WhichSpecialWeapon="1" />
  198.             <RadarJamSpecialPower
  199.                 id="ModuleTag_RadarHack"
  200.                 SpecialPowerTemplate="SpySpecialAbilityRadarHack"
  201.                 UpdateModuleStartsAttack="true" />
  202.             <SpecialAbilityUpdate
  203.                 id="ModuleTag_RadarHackUpdate"
  204.                 SpecialPowerTemplate="SpySpecialAbilityRadarHack"
  205.                 StartAbilityRange="15.0"
  206.                 PreparationTime="2.0s"
  207.                 Options="DO_CAPTURE_FX USE_OBJECT_GEOMETRY_FOR_WITHIN_RANGE_CHECK SHOW_PREPARATION_PROGRESS"
  208.                 ChainedButton="Command_SpyKillSelf" />
  209.             <CashHackSpecialPower
  210.                 id="ModuleTag_StealMoney"
  211.                 SpecialPowerTemplate="SpySpecialAbilityStealMoney"
  212.                 DefaultAmountToSteal="1000"
  213.                 UpdateModuleStartsAttack="true" />
  214.             <SpecialAbilityUpdate
  215.                 id="ModuleTag_StealMoneyUpdate"
  216.                 SpecialPowerTemplate="SpySpecialAbilityStealMoney"
  217.                 StartAbilityRange="15.0"
  218.                 PreparationTime="2.0s"
  219.                 Options="DO_CAPTURE_FX USE_OBJECT_GEOMETRY_FOR_WITHIN_RANGE_CHECK SHOW_PREPARATION_PROGRESS"
  220.                 ChainedButton="Command_SpyKillSelf" />
  221.             <SpecialPower
  222.                 id="ModuleTag_DisablePower"
  223.                 SpecialPowerTemplate="SpySpecialAbilityDisablePower"
  224.                 UpdateModuleStartsAttack="true" />
  225.             <WeaponFireSpecialAbilityUpdate
  226.                 id="ModuleTag_DisablePower"
  227.                 SpecialPowerTemplate="SpySpecialAbilityDisablePower"
  228.                 SpecialWeapon="SpyDisablePowerBomb"
  229.                 UnpackTime="0s"
  230.                 PackTime="0s"
  231.                 BusyForDuration="0s"
  232.                 WhichSpecialWeapon="2"
  233.                 ChainedButton="Command_SpyKillSelf" />
  234.         </Behaviors>
  235.         <AI>
  236.             <AIUpdate
  237.                 id="ModuleTag_AIUpdate"
  238.                 AutoAcquireEnemiesWhenIdle="YES">
  239.                 <UnitAITargetChooserData
  240.                     SympathyRange="100.0" />
  241.             </AIUpdate>
  242.         </AI>
  243.         <Body>
  244.             <ActiveBody
  245.                 id="ModuleTag_ActiveBody"
  246.                 MaxHealth="75.0" />
  247.         </Body>
  248.         <Geometry
  249.             IsSmall="true">
  250.             <Shape
  251.                 Type="CYLINDER"
  252.                 MajorRadius="7.0"
  253.                 Height="13.0"
  254.                 ContactPointGeneration="INFANTRY" />
  255.         </Geometry>
  256.         <AudioArrayVoice>
  257.             <NamedEntry
  258.                 Sound="NOD_Saboteur_VoiceCapture"
  259.                 Name="SpyDoStuff" />
  260.             <xi:include
  261.                 href="DATA:NOD/Units/NODSaboteur.xml"
  262.                 xpointer="xmlns(n=uri:ea.com:eala:asset) xpointer(/n:AssetDeclaration/n:GameObject/n:AudioArrayVoice/child::*)" />
  263.         </AudioArrayVoice>
  264.         <VisionInfo
  265.             VisionRange="350"
  266.             ShroudClearingRange="400" />
  267.     </GameObject>
  268.  
  269. </AssetDeclaration>
  270. <!-- End Spy.xml -->
  271.  
  272. <!-- PowerPlant -->
  273. ...
  274.             <AIUpdate
  275. ...
  276.                 AILuaEventsList="SpyDisableablePowerPlant"
  277. ...
  278. <!-- End PowerPlant -->
  279.  
  280. <!-- Scripts/ScriptEvents.xml -->
  281. ...
  282.         <ModelConditionEvent
  283.             Name="DisablePower">
  284.             <Conditions>+USER_75</Conditions>
  285.         </ModelConditionEvent>
  286.     </Events>
  287.    
  288.     <EventList
  289.         Name="SpyDisableablePowerPlant"
  290.         Inherit="BuildingPowerFunctions">
  291.         <EventHandler
  292.             EventName="DisablePower"
  293.             ScriptFunctionName="DisablePowerPlants"
  294.             DebugSingleStep="false" />
  295.     </EventList>
  296. ...
  297. <!-- End Scripts/ScriptEvents.xml -->
  298.  
  299. <!-- Scripts/Scripts.lua -->
  300. function DisablePowerPlants(self)
  301.     ObjectCreateAndFireTempWeapon(self, "DisablePowerPlantsBomb")
  302. end
  303. <!-- End Scripts/Scripts.lua -->
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement