So I did actually post this earlier but I fat fingered the 'Save Edit' and hit 'Delete' so that's why that poofed. Anyways, I did actually manage to resolve every issue I had except for one, which is: when I fire my Weapon Attack macro for a weapon that has a loading period, it still asks for a target of the attack even though the weapon isn't attacking. I have to imagine it's something to do with using the #targetToken tag, but I'm not sure how to avoid using it. Here's what the macro is supposed to do: Check to see the load state, or WeaponState, and if it's less than the WeaponStateMax then increase the State by 1 and end. However, if it is equivalent to the StateMax, set the State to 0 and execute an attack. Then the macro requires a target to inflict damage, which it checks to see if the target is a vehicle or not. If yes, it checks for a DamageThreshold. Then it finishes executing damage normally. Finally, it subtracts the AmmoCost from the associated resource on the Source Ship. I tried to make this have a programmatical input instead of hardcoding it but I couldn't figure it out. Now that that's out of the way, here's the Macro, and if anyone can tell me how to stop it from asking for a Target when it isn't firing, it would be much appreciated, thanks! !scriptcard {{
--#title|Vehicle Weapon Attack
--#sourceToken|@{selected|token_id}
--&DTType|Vehicle
--? @{selected|WeaponState} -ne @{selected|WeaponStateMax}|Load
--? @{selected|WeaponState} -eq @{selected|WeaponStateMax}|Fire
--X|
--:Load|
--@modattr| _charid [*S:character_id] _WeaponState|1 _silent
--+Action|@{selected|character_name} is loading...
--X|
--:Fire|
--@setattr| _charid [*S:character_id] _WeaponState|0 _silent
--ISelect A Target;Click Here|t;WeaponTarget;Weapon Target
--#targetToken|[&WeaponTarget]s
--=TargetAC|@{target|ac}
--#emoteText| @{selected|character_name} attacks @{target|character_name}!
--=ToHit|1d20 + @{selected|WeaponToHit}
--+To Hit|[$ToHit]
--? [$ToHit.Base] -eq 20|Crit
--? [$ToHit.Total] -ge [$TargetAC]|Hit
--? [$ToHit.Base] -eq 1|Fumble
--+Miss| The Attack Missed!
--^SubtractAmmo|
--:Crit|
--=Damage|@{selected|WeaponCritDamage}
--+Critical Damage|[$Damage]
--^SubtractDamage|
--:Hit|
--=Damage|@{selected|WeaponDamage}
--+Damage|[$Damage]
--^SubtractDamage|
--:Fumble|
--+Fumble| The Attack Horribly Missed!
--^SubtractAmmo
--:SubtractDamage|
--? @{target|npc_resistances} -inc @{selected|WeaponDamageType}|>Resist
--? @{target|npc_vulnerabilities} -inc @{selected|WeaponDamageType}|>Vuln
--? @{target|npc_immunities} -inc @{selected|WeaponDamageType}|>Immune
--? "@{target|npc_type}" -inc [&DTType]|SubtractVehicleDamage
--@alter|_target|@{target|token_id} _bar|1 _amount|-[$Damage]
--^SubtractAmmo|
--:SubtractVehicleDamage|
--+Damage Threshold|Applying Threshold...
--? [$Damage] -ge @{target|DamageThreshold}|SkipDT
--=Damage|0
--+Resisted|@{target|character_name} Resisted the Attack!
--:SkipDT|
--@alter|_target|@{target|token_id} _bar|3 _amount|-[$Damage]
--^SubtractAmmo|
--:SubtractAmmo|
--=NewAmmoCount|@{Ship Alpha|class_resource} - @{selected|WeaponAmmoCost}
--+Remaining Ammo|[$NewAmmoCount]
--@setattr| _name Ship Alpha _class_resource|[$NewAmmoCount] _silent
--X|
--:Resist|
--Damage|[$Damage] \ 2
--<|
--:Vuln|
--Damage|[$Damage] * 2
--<|
--:Immune|
--Damage|0
--<|
}}