- Commands no longer need to be registered.
- No need for alias registration. Use core.callScript.callCommand() in the duplicate script.
- No need for GM cmd registration. There is a column called godLevel for this.
- Command ranges were not checked, allowing buggy issues like buffs being applied from 2000m away!
- Buffs will be auto applied now to target or self without needing to be scripted.
- Target types and command types are in the table (whether the cmd should be used on you, ally target, enemy target or group) as described here https://github.com/ProjectSWGCore/NGECore2/issues/370 <-- This is going to save us months of wasteful scripting and combat bugs
- Invalid weapons are now checked
- Cooldowns now check for cooldown group rather than commandName
- HitType no longer needs to determine attack range; this info is in the commands table
- Locomotion is partially checked and states fully checked
- Command table breaks when it's found the command for efficiency
In general, we were hardly using any of the info in the commands table and instead struggling to script it and experiencing loads of bugs as a result. It's a waste of time to script what is already there.
Note that cooldown check is currently used only for the holoemote
command. To add a cooldown to any command, all you have to do is
CreatureObject.addCooldown(name). In this commit I also moved some
cooldown variables from CombatCommand to BaseSWGCommand since many
non-combat commands had cooldowns (Wookie Roar, Holo-Emotes). I also put
in a warmup cooldown (time before command is called) for non-combat
commands.