Releases: mgeitz/eqalert
3.5.1
-
Faster
who_player
processing -
Update first run messages
-
Pull version from one place at startup, rather than all over
-
Actions Cleanup
-
Mute Cleanup
-
Update many strings to boolean and integer values
- Finally no more
"true" == "true"
or similar string comparisons, this was some low hanging fruit but a huge overall speed up
- Finally no more
-
Cleaning and Bug Fixing
- Fix issue preventing highest spell possible from being picked
-
Version players.json
- Without version converts values to use nulls and integer
- With version, ignores and doesn't replace yet
-
Version characters.json
- Without version converts Char Log values to not all strings
- With version, ignores and doesn't replace yet
-
Replace some regex
- Using
substring in string
is apparently much much faster
- Using
-
Zone Config Updates
- Boolean or int values
- Added indoors value, not used yet, may never be used
3.5.0
-
gTTS Updates
- Lingo expansion
- Set TLD
- Set Language
-
Player Data
- Collect player data from
/who
/say parser who [player]
- speak player info- Config value to persist
- Used for determining spell duration
- Collect player data from
-
Spell Timers
- Reshape spell-timers.json to work, requires legacy check
- Many spell timer config settings
- Spell formulas
- Spell lines file, match vague spell lines to possible spells
- Spell casters file, match class/level requirements to spell
- Spell timers are determined by looking at the spell landing message and looking back cast time ago for each casting message it could be associated to.
- When multiple spells are possible, the highest level spell the caster could use is selected.
- Caster data is pulled from
/who
output to determine spell duration when level is used. - By default only spells you cast will alert about 24 seconds before the spell drops, adjusting for zoning drift.
- Timers for others will drift with zoning or logging out and not track updates to their buffs that occur outside of the log message radius.
- Optional toggles in settings can also be set filters to be guild only, or just track any spell that lands on anyone you have /who player data for by disabling all filters.
- Due to how casters are inferred through cast time, item click spell casts are not tracked yet. With guessing enabled, non-instant clicky items for spells that can't normally be cast (i.e. Black Flower of Functionality) should be tracked.
- Save timers by character / server when stopping the parser or switching characters
- When loading old timers adjust timers targeting yourself to having been logged out
-
Replace all instances of startswith with regex
-
Readme Updates
3.4.7
-
Fix Long Description
-
Parser/config updates and adjustments
- spells_gated_npc
- auction_unknown_tongue
- say_unknown_tongue
- command_usage
- duel_accept_you
- duel_challenge
- duel_end_fled
- fishing_no_water
- item_dropped_no_room
- item_no_drop
- group_invite_already
- group_invite_npc
- guild_motd_wrong_command
- emote_agree_other
- emote_bird_other
- emote_bite_other
- emote_bleed_other
- emote_blush_other
- emote_burp_other
- emote_chuckle_other
- emote_clap_other
- emote_comfort_other
- emote_congratulate_other
- emote_cry_other
- emote_flex_other
- emote_frown_other
- emote_gasp_other
- emote_giggle_other
- emote_introduce_other
- emote_kiss_other
- emote_kneel_other
- emote_mourn_other
- emote_pat_other
- emote_peer_other
- emote_plead_other
- emote_point_other
- emote_ponder_other
- emote_roar_other
- emote_rofl_other
- emote_shiver_other
- emote_shrug_other
- emote_sigh_other
- emote_smirk_other
- emote_tap_other
- emote_yawn_other
-
Fix Location Location
3.4.6
-
Fix Config Reload Bug
- Watch thread was missing the config reload flag
-
Parser/Config Updates
- combat_your_melee_invulnerable
- friend_list_header
- friend_list_line
- friend_list_total
- help_command_chat
- help_command_emote
- help_command_format
- help_command_guild
- help_command_header
- help_command_line
- help_command_normal
- help_command_output
- help_command_voice
- ignore_list_header
- list_removed_range
- target_command_format
- cast_change_form_block
- cast_outdoors_only
- container_container
- fishing_cast
- fishing_caught_nothing
- fishing_caught_something
- fishing_creatively
- fishing_holding
- fishing_lost_bait
- fishing_no_pole
- fishing_pole_broke
- fishing_spill_beer
- hide_attacking
- item_must_equip
- lore_pickup
- required_pick
- too_many_pets
- use_block
- guild_status_instructions
- guild_status_none
- trade_lore_item
3.4.5
-
Add Parser/Config Line Types
- account_subscription
- achievement_first
- anon_off
- anon_on
- assist_no_target
- assist_self
- attack_self
- autofollow_no_target
- autofollow_off
- autofollow_on
- birthdate
- boat_operator
- cast_animal_only
- cast_night_only
- chat_disconnected
- combat_ranger_drake
- combat_you_cannot_hit
- combat_you_melee_dodge
- combat_you_melee_invulnerable
- combat_you_melee_parry
- combat_you_melee_riposte
- combat_your_rune_damage
- combat_you_rune_damage
- command_block_moving
- command_block_spellbook
- concious_you
- consider_dead
- corpse_consent
- dead_other
- dead_you
- eat_you
- eat_you_finish
- eat_you_full
- effect_removal_block
- equip_block
- feign_failure_other
- forage_attacking
- forage_fail
- friend_add
- friend_remove
- gm_reset_ability
- gm_reset_discipline
- group_invite_not_lead
- group_invite_yourself
- group_join_reject
- guild_member_invite
- guild_member_other
- guild_member_other_invite
- guild_member_you
- guild_member_you_accept
- guild_officer_other
- guild_officer_you
- guild_remove_fail
- guild_remove_you
- guild_remove_you_attempt
- guild_status_officer
- hide_corpse_looted
- hide_corpse_none
- hide_moving
- ignore_add
- item_too_big
- list_leaving_zone
- loot_corpse_locked
- looted_money_you_split
- loot_error
- loot_lore
- loot_too_far
- npc_guild_wrong
- petition_you
- played_session
- played_total
- reply_empty
- roleplay_off
- roleplay_on
- shout_unknown_tongue
- skill_max
- skill_max_tradeskill
- spells_invis_already
- spells_memorize_abort
- spells_memorize_too_high
- split_format
- split_format_example
- split_invalid
- split_off
- split_on
- split_shared
- summon_corpse_too_far
- target_attack_sitting
- target_group_member
- tell_queued_offline
- trade_cancel_other
- trade_error
- tradeskill_create_other
- tradeskill_create_you
- tradeskill_fail_other
- tradeskill_fail_you
- tradeskill_hands_full
- tradeskill_skill_cap
- tradeskill_wrong_container
- trade_too_far
- who_etc
- yell_help_you
- you_camping_standing
- you_lowfoodlowdrink
-
Misc Parser/Config Tweaks
-
Bug Fixes
- Encounter Parse Zone
- Config Reload Hang
- New Character Creation
- Un-mutable Sounds
- Config Generation Exit Code
- Auto-set Respawn Timer Bug Fix
-
Configurable Zone Pop Delay
-
Tips Update
-
PyPi Publish Action
- Using the PyPA template: https://www.pypa.io/en/latest/
-
Docker
3.4.2
-
Upgrade to Python 3.9.2 minimum version
- Requires python version >= 3.9.2, python 3.7 will be out of support by 2023-06-27
- Dependency versions pinned
- playsound>=1.3.0
- gtts>=2.3.1
-
Fixed manual installation command in
README.md
- The old command required a manual uninstall via removing eqalert files from the default pip install paths and wouldn't pull down dependencies from pip if they were needed, never noticed this until installing on a fresh system. The assets produced by the new installation command can be removed no differently than if the package were downloaded from pypi via pip.
3.4.1
-
Parser Updates
- combat_other_flurry
- spells_heal_other
- spells_levitate_block
- spells_song_end
- spells_stun_cast_block
- list_re_entering
- bandage_you
- bandage_cap
- jump_fatigue
- you_lowfood
- other misc regex tweaks
-
Config generation bug fix
- Settings generation wasn't working
-
Watch thread bug fix when reloading config
-
Alpha Order Options
-
README Updates
-
Encounter Stack
- Split up analysis and reporting a bit more
3.3.5
-
Consider Evaluation Changes
- Default to off
- Added /say toggle
-
Default Config Spell Dropped Alerts
- Alert when anything is dropped or replaced on your spell bar
-
Auto-Swap Characters
- Detect most recently updated log file and set the active character and server accordingly
- Enabled by default, toggled in settings
-
Spell Timer File Hash
- Only generate the spell timer file if it is missing or the hash of the source file has changed since generation
-
Persist Timers
-
Generalize Line Alert Config Generation
- Regenerate Bad Configs
-
Misc Parser Updates