balakethelock / SuperWoW

1.12.1 WoW client mod that expands on API functionalities
Other
31 stars 2 forks source link

[question] #8

Open shikulja opened 1 month ago

shikulja commented 1 month ago

Is it possible to add the ability to use native spellID debuffsID itemsID etc. instead of spellName debuffName etc. ? This can speed up addons that use superwow instead of bubbleSpell and other spell tables

balakethelock commented 1 month ago

Is it possible to add the ability to use native spellID debuffsID itemsID etc. instead of spellName debuffName etc. ? This can speed up addons that use superwow instead of bubbleSpell and other spell tables

Lots of servers anticheat will flag you or even ban you if it detects you're trying to cast a spell ID or item ID that you don't have. This is an issue that existed in Nampower 1.2 and Namreeb decided letting players cast a something by its ID is risky.

AFAIK The performance difference between the CastSpellByName function vs directly casting a spell by it's ID is negligeable.

What is BubbleSpell?

shikulja commented 1 month ago

@balakethelock Babble.zip Libs3.zip This is the main way to use spells to locale them. instead of the convenient way to idspell modern wow clients

local BS = AceLibrary("Babble-Spell-2.2")
    if SpellName == BS["Prayer of Healing"] then
        Message(L["Casting "] .. BS["Prayer of Healing"] .. " (" .. SpellRank .. ")", L["Healing"], 3)

if you use tables, large tables, then this will definitely affect performance these are additional reads and requests in memory

shikulja commented 1 month ago

There is also a little confusion that can lead to errors ["Arcane Missiles"] = "Чародейские стрелы", --["Arcane Missiles"] = "Чародейский снаряд", --["Arcane Protection"] = "Защита от тайной магии", ["Arcane Protection"] = "Чародейская защита", --["Axe Specialization"] = "Специализация на владении топорами", --Заклинания/Разное --["Axe Specialization"] = "Специализация на владении топором", --Заклинания/Разное ["Axe Specialization"] = "Специализация на топорах", --Таланты/Воин

https://github.com/shagu/pfUI/blob/master/env/locales_enUS.lua https://github.com/shagu/pfUI/blob/master/env/locales_ruRU.lua pfui\pfquest could also ignore localization tables if it was possible to use spellid/creatureid

dpsmate also use big tables for creatures\spells\debuffs\npcs https://github.com/Geigerkind/DPSMate/tree/master/DPSMate/enUS https://github.com/Geigerkind/DPSMate/tree/master/DPSMate_!ruRU

shikulja commented 1 month ago

found in vmangos cfg, but this is not an anti-cheat or warden

    Item.PreventDataMining
        Forbid querying information about items that have never been obtained.
        Default: 1 (true)
                0 (false)
shikulja commented 1 month ago

Every player has problems with bigwigs. Due to the fact that broadcast_text(locales_broadcast_text) may have different lines depending on the server cmangos\mangos zero\vmangos For example:

    --trigger_guardians = "Very well... warriors of the frozen wastes, rise up! I command you to fight, kill, and die for your master. Let none survive...",
    trigger_guardians = "Very well. Warriors of the frozen wastes, rise up! I command you to fight, kill and die for your master! Let none survive!", --vmangos 12994
        --trigger_engage1 = "Соратники, слуги, солдаты холодной тьмы! Повинуйтесь зову Кел'Тузада!", -- cmangos
    trigger_engage1 = "Приспешники, слуги, воины холодного мрака! Повинуйтесь призыву Кел'Тузада!", --12999 --vmangos

I don't know if the server can return broadcast ID But if possible, using IDs instead of text strings could fix bigwigs; it would not only fix the server-side differences, but also make localization of the addon itself easier.

balakethelock commented 1 month ago

Every player has problems with bigwigs. Due to the fact that broadcast_text(locales_broadcast_text) may have different lines depending on the server cmangos\mangos zero\vmangos For example:

  --trigger_guardians = "Very well... warriors of the frozen wastes, rise up! I command you to fight, kill, and die for your master. Let none survive...",
  trigger_guardians = "Very well. Warriors of the frozen wastes, rise up! I command you to fight, kill and die for your master! Let none survive!", --vmangos 12994
      --trigger_engage1 = "Соратники, слуги, солдаты холодной тьмы! Повинуйтесь зову Кел'Тузада!", -- cmangos
  trigger_engage1 = "Приспешники, слуги, воины холодного мрака! Повинуйтесь призыву Кел'Тузада!", --12999 --vmangos

I don't know if the server can return broadcast ID But if possible, using IDs instead of text strings could fix bigwigs; it would not only fix the server-side differences, but also make localization of the addon itself easier.

The server only sends the translated text sadly. And also between all the vmangos/cmangos/mangoszero servers, the broadcast ID will be different too. You have to translate all messages in your own addons if you want the addon to work on all languages, and include all different texts of different server codes if you want the addon to work on all servers.