Nowaru 1 Posted April 29, 2019 Hi Everyone, Just a quick question. Essentially my mod has the Mastodon have a weapon system that you can purchase "on" the unit. Basically, its some command button special powers that give the Mastodon an "upgrade" depending on what weapon you want to put on it (currently, there are two weapons, Big Gun and Small Gun (Devastator cannon and classic railguns))... but I want to be able to give the AI the option to at least buy the railguns, so I made this AISpecialPowerUpdate... <AISpecialPowerUpdate id="37DB893B" CommandButtonName="Command_MastodonSmallGun" SecondaryCommandButtonName="" SpecialPowerAIType="SPECIAL_POWER_BASIC_SELF_BUFF" SpecialPowerRadius="-1" ReinforceDistance="0" SpellMakesAStructure="" SpecificUnit="" UnitKindOf="VEHICLE" AllyUnitInclude="" AllyUnitExclude="" EnemyUnitInclude="" EnemyUnitExclude="" MinimumCutoff="0" UpdateTime="1s" MaxFrequency="0" RandomizeTargetLocation="False" /> ... the problem is, the AI rarely (if ever) purchases it. It only costs 2000 credits, which I figured isn't too much for a Brutal AI... but since "equipping" the walker is literally imperative for it to be functional (it only has rocket launchers if you don't give it a weapon), it ends up often being severely gimped in the hands of the AI, unless it has the sudden urge to buy the upgrade. I'm wondering if there's any chance to increase the possibility of the AI doing something, as it does with MCV's and Surveyors etc (aka, always do this if you have this)... since its no use them having an epic unit that they only upgrade 1 out of every 10 times or so. My version of the Mastodon is meant to be freely customizable, so I'm not sure how I'd implement it otherwise. o.O This is what the special power looks like for extra info: <SpecialPower id="GiveSmallInit" SpecialPowerTemplate="SpecialPower_MastodonSmallGun" AntiCategory="" AntiFX="" AttributeModifier="" AttributeModifierRange="0" AttributeModifierFX="" WeatherDuration="0" InitiateFX="" TriggerFX="" SetModelCondition="TOPPLED" SetModelConditionTime="0s" GiveLevels="0" ChangeWeather="NORMAL" OnTriggerRechargeSpecialPower="" BurnDecayModifier="0" MaxDistanceFromCommandCenter="0" UpdateModuleStartsAttack="True" StartsPaused="False" ReEnableAntiCategory="False" AttributeModifierAffectsSelf="False" AttributeModifierWeatherBased="False" TargetEnemy="False" TargetAllSides="False" DisableDuringAnimDuration="False" IdleWhenStartingPower="False" AffectGood="False" AffectEvil="False" AffectAllies="True" AvailableAtStart="True" AdjustVictim="False" UseDistanceFromCommandCenter="False" ChildModuleHandlesFX="False"> <AttributeModifierAffects Rule="UNPARSED" Relationship="" Alignment="NONE" Include="" Exclude="" StatusBitFlags="" RejectStatusBitFlags="" AcceptModelCondition="" RejectModelCondition="" /> <RequirementsFilterMP Rule="UNPARSED" Relationship="" Alignment="NONE" Include="" Exclude="" StatusBitFlags="" RejectStatusBitFlags="" AcceptModelCondition="" RejectModelCondition="" /> <RequirementsFilterStrategic Rule="UNPARSED" Relationship="" Alignment="NONE" Include="" Exclude="" StatusBitFlags="" RejectStatusBitFlags="" AcceptModelCondition="" RejectModelCondition="" /> </SpecialPower> <GiveOrRestoreUpgradeSpecialPower id="GiveSmall" GrabPassengerHealGain="0%" SpecialPowerTemplate="SpecialPower_MastodonSmallGun" StartAbilityRange="1E+07" AbilityAbortRange="1E+07" PreparationTime="0s" PersistentPrepTime="0s" PersistentCount="-1" PackTime="0s" UnpackTime="0s" PreTriggerUnstealthTime="0s" Options="" PackUnpackVariationFactor="0" ParalyzeDurationWhenCompleted="0s" ParalyzeDurationWhenAborted="0s" SpecialObject="" MaxSpecialObjects="1" EffectDuration="0s" EffectValue="1" EffectRange="0" FleeRangeAfterCompletion="0" DisableFXParticleSystem="" PackSound="" UnpackSound="" PrepSoundLoop="" TriggerSound="" ActiveLoopSound="" AwardXPForTriggering="0" SkillPointsForTriggering="-1" UnpackingVariation="0" FreezeAfterTriggerDuration="0s" RequiredConditions="" RejectedConditions="" SetObjectStatusOnTrigger="" ClearObjectStatusOnExit="" TriggerAttributeModifier="" AttributeModifierDuration="0s" ChainedButton="" RequireAndSpendTiberiumOnCaster="0" DisabledTypesToProcess="HELD" DisabledTypesToContinueSoundsFor="HELD" StartRechargeOnExit="False" GoIdleInStartPreparation="True" FaceTarget="True" UpgradeToGive="Upgrade_MastodonSmallGun" WeaponFlags="" /> Share this post Link to post
Mjjstral 25 Posted May 29, 2019 You need to know one thing: You can theoretically disable the AI and completely rebuild it in lua. That means you can also mimic only parts of it like the desire you mentioned above. https://pastebin.com/xHHGCVZ1 Share this post Link to post
Egozi44 27 Posted July 27, 2019 (edited) I would recommend to try and use a different SpecialPowerAIType Cause the AI is dumb and won't always use the buttons we gave it unless we force it to use them in the AI code, So gives it other type which it uses more often may solve your issue Edited July 27, 2019 by Egozi44 Share this post Link to post