Closed MnFeN closed 3 months ago
°
, for example, 180° = 3.14159...
isanglebetween(θ, θ1, θ2)
to determine if a given angle θ
is within the range from θ1
to θ2
(in the direction of increasing angle, i.e. counter-clockwise in FFXIV coordinate system).
isanglebetween(pi/4, 0, pi/2) = 1
isanglebetween(pi, pi/2, -pi/2) = 1
isanglebetween(0, pi/2, -pi/2) = 0
LogMessage
action, a new option "Add log to ACT combat record" has been added to facilitate browsing both regular and custom logs together in the ACT combat record.
1B
(HeadMarker) log with offset removed can be added to the combat record with a custom format, as if a log without offset was generated at the same time.New entity attributes added: subrole
and roleid
(corresponding to the text and numeric values defined below).
Related discussion
public enum RoleType
{
None = 0,
Tank = 8,
Healer = 16,
DPS = 24,
Crafter = 32,
Gatherer = 48,
MainRole = 56,
PureHealer = Healer | 1,
FlexHealer = Healer | 2,
BarrierHealer = Healer | 3,
StrengthMelee = DPS | 1,
DexterityMelee = DPS | 2,
PhysicalRanged = DPS | 4,
MagicalRanged = DPS | 6,
}
Added a new query pattern for _entity
: ${_entity[key=value].prop}
${_entity[bnpcid=12601].heading}
can be used to query the entity of BNpcId 12601. List<VariableDictionary> Triggernometry.PluginBridges.BridgeFFXIV.GetAllEntities()
StaticHelpers
to the Interpreter to facilitate the use of methods that are independent of the Context instance.TriggernometryHelpers
are still available.
using Triggernometry.Variables;
using static Triggernometry.Interpreter;
class ConfigForm { //...
public void LoadFromConfig()
{
VariableDictionary config = StaticHelpers.GetDictVariable(isPersistent, configName);
// ...
}
}
### Others
- Modified action descriptions for actions requiring specific window titles and `procid`, following the newly added logic about `procid`.
- Fixed several null reference exceptions, such as `ActionViewer.Actions = null` causing sporadic errors when clicking in the ActionForm interface, and `RealPlugin.plug.currentZone = null` causing potential errors when editing group area restrictions with FFXIV not running.
- Renamed the `testmode` property to `testByPlaceholder` to avoid ambiguity, due to previously added properties for testing actions.
- Renamed several incorrectly named `cbx...` checkboxes to `chk...`.
- Other minor modifications.
${...}
expressions was input in a textbox for variable names, it would be saved into a corresponding dynamic variable list;${var:name}
, the name
would be save into the corresponding dynamic variable list;${v:...
, or typing in an expreesion textbox for variable names, it would also check all the names in the dynamic list.aaccff
/ #aaccff
acf
/ #acf
192, 0, 18
RealPlugin.WindowsUtils
class to Triggernometry.Utilities
namespace, and added the corresponding scripting API safety option public IntPtr Triggernometry.Realplugin.plug.XivHandle
Note: It is still safe because all APIs were still restricted. It could also be used in the future to read some entity properties which are not available in ACT / update too slowly in ACT (like coordination).
System.Text.Json
directly:
public static string Triggernometry.Interpreter.StaticHelpers.Serialize(object o, bool indent = true);
public static T Triggernometry.Interpreter.StaticHelpers.Deserialize<T>(string s);
Supplement for 1.1.8.0 beta (PR #98)
ActionViewer
Copy Conditions
,Paste Conditions
,Test Action
in the right-click menuActionForm / Action
Increment
(for convenience)AppendH
(append tables horizontally)Resize
andCopy
Context
${estorage:xxx}
: check if the scripting storage contains the keyxxx
${_storage[xxx]}
: output the objects in the scripting storage${_configpath}
${_pluginpath}
: the corresponding local folder paths${_config[UnsafeUsage]}
;${_config[API]}
results to bitwise (0-7
,Local << 2 | Remote << 1 | Admin
)RealPlugin
cfg.Constants
was not updated on the first launch after updating the plugin, but on the second launchstatic RealPlugin RealPlugin.plug
for convenient referencing (all theRealPlugin
instances throughout the entire program are the same one).Others
void Context.XxxxxError()
toException Context.XxxxxError()
internal
topublic
for scripts