Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Svo.classes not flagging true for Psion, Elemental Lords. #693

Open
sdelo1185 opened this issue Nov 18, 2020 · 9 comments
Open

Svo.classes not flagging true for Psion, Elemental Lords. #693

sdelo1185 opened this issue Nov 18, 2020 · 9 comments
Labels
bug Issues for bug reports confirmed

Comments

@sdelo1185
Copy link

The auto function for flagging these classes does not turn on the classes for Psion or the Elementals. Psion can be manually turned on and off via TN PSION TF PSION, but there's currently no way to turn on the elemental lords because the command doesn't recognize that they exist.

@sdelo1185
Copy link
Author

sdelo1185 commented Nov 18, 2020

Changing the Table in svo Class Management to:

svo.classes = {
airelemental = {fighting = false, skills = {"duress"}},
alchemist = {fighting = false, skills = {"transmutation", "physiology", "alchemy"}},
apostate = {fighting = false, skills = {"evileye", "necromancy", "apostasy"}},
bard = {fighting = false, skills = {"voicecraft", "swashbuckling", "harmonics"}},
blademaster = {fighting = false, skills = {"twoarts", "striking", "shindo"}},
depthswalker = {fighting = false, skills = {"shadowmancy", "aeonics", "terminus"}},
dragon = {fighting = false, skills = {"dragoncraft"}},
druid = {fighting = false, skills = {"groves", "metamorphosis", "concoctions"}},
earthelemental = {fighting = false, skills = {"sculpting"}},
fireelemental = {fighting = false, skills = {"ignition"}},
infernal = {fighting = false, skills = {"oppression", "chivalry", "weaponmastery"}},
jester = {fighting = false, skills = {"tarot", "pranks", "puppetry"}},
magi = {fighting = false, skills = {"elementalism", "crystalism", "enchantment"}},
monk = {fighting = false, skills = {"tekura", "kaido", "telepathy"}},
occultist = {fighting = false, skills = {"occultism", "tarot", "domination"}},
paladin = {fighting = false, skills = {"chivalry", "devotion", "weaponmastery"}},
priest = {fighting = false, skills = {"spirituality", "devotion", "zeal"}},
psion = {fighting = false, skills = {"weaving", "psionics", "emulation"}},
runewarden = {fighting = false, skills = {"runelore", "chivalry", "weaponmastery"}},
sentinel = {fighting = false, skills = {"metamorphosis", "woodlore", "concoctions"}},
serpent = {fighting = false, skills = {"subterfuge", "venom", "hypnosis"}},
shaman = {fighting = false, skills = {"spiritlore", "curses", "vodun"}},
sylvan = {fighting = false, skills = {"elementalism", "groves", "concoctions"}},
waterelemental = {fighting = false, skills = {"pervasion"}},
}

Allowed for the elementals to be manually toggled via tn/tf.
The elemental names being designated within [ ] did not allow for this.
This did not change auto-detection for Ele lords.

@DazedxJoker
Copy link
Contributor


svo.classes = {
  ["air elemental"] = {fighting = false, skills = {"duress"}},
  alchemist    = {fighting = false, skills = {"transmutation", "physiology", "alchemy"}},
  apostate     = {fighting = false, skills = {"evileye", "necromancy", "apostasy"}},
  bard         = {fighting = false, skills = {"voicecraft", "swashbuckling", "harmonics"}},
  blademaster  = {fighting = false, skills = {"twoarts", "striking", "shindo"}},
  depthswalker = {fighting = false, skills = {"shadowmancy", "aeonics", "terminus"}},
  dragon       = {fighting = false, skills = {"dragoncraft"}},
  druid        = {fighting = false, skills = {"groves", "metamorphosis", "concoctions"}},
  ["earth elemental"] = {fighting = false, skills = {"sculpting"}},
  ["fire elemental"] = {fighting = false, skills = {"ignition"}},
  infernal     = {fighting = false, skills = {"oppression", "chivalry", "weaponmastery"}},
  jester       = {fighting = false, skills = {"tarot", "pranks", "puppetry"}},
  magi         = {fighting = false, skills = {"elementalism", "crystalism", "enchantment"}},
  monk         = {fighting = false, skills = {"tekura", "kaido", "telepathy"}},
  occultist    = {fighting = false, skills = {"occultism", "tarot", "domination"}},
  paladin      = {fighting = false, skills = {"chivalry", "devotion", "weaponmastery"}},
  priest       = {fighting = false, skills = {"spirituality", "devotion", "zeal"}},
  psion        = {fighting = false, skills = {"weaving", "psionics", "emulation"}},
  runewarden   = {fighting = false, skills = {"runelore", "chivalry", "weaponmastery"}},
  sentinel     = {fighting = false, skills = {"metamorphosis", "woodlore", "concoctions"}},
  serpent      = {fighting = false, skills = {"subterfuge", "venom", "hypnosis"}},
  shaman       = {fighting = false, skills = {"spiritlore", "curses", "vodun"}},
  sylvan       = {fighting = false, skills = {"elementalism", "groves", "concoctions"}},
  ["water elemental"] = {fighting = false, skills = {"pervasion"}},
}

You're not on the latest version.

@sdelo1185
Copy link
Author

I updated to most recent version.

The related class skill files do not exist in order to auto-enable these classes. The 2 problems still exist.

  1. The classes may be in the table but the corresponding skill folders/abilities triggers do not and so therefore do not trigger the auto-enable for them. (Elemental Lords and Psion).
  2. The names of the Elemental Lords in brackets do not allow for you to manually turn on or off the class via TN/TF. What I pasted was a suggested modification of the code, not an example of code from an older version.

The functions that manage the flagging of on or off of these classes are svo.startedfighting(). If you look in the Trigger Folder "svo (aliases, triggers)", you will find that there is a folder there for the Psion abilities but none of them have that function.

There are various other classes with abilities triggers missing. It might be something of an undertaking, but i think accurate enemy class tracking is an important part of being able to adequately script in the current meta and would be a benefit to a lot of folks.

@PhoenixCodes
Copy link
Contributor

Sounds Like tn/tf alias wants a single word argument. Not sure about the function itself... as far as the rest, am too tired to be coherent.

@DazedxJoker DazedxJoker reopened this Nov 25, 2020
@RollanzMushing
Copy link

The problem is in this block in the tn alias. The similar block in tf alias has the same problem.

for w in string.gmatch(matches[2], "%a+") do
  if svo.classes[w] and not svo.enabledclasses[w] then classes[#classes+1] = w -- weed out invalid names
  elseif svo.classes[w] and svo.enabledclasses[w] then alreadyon[#alreadyon+1] = w end
end

It pulls individual words and checks them against svo.classes, and neither "air" nor "elemental" are in the list. It may be a good idea to just rename the elemental class keys to "air", "earth", etc.

@stale
Copy link

stale bot commented Jan 31, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Jan 31, 2021
@stale
Copy link

stale bot commented Feb 13, 2021

This issue has been automatically closed as stale because it has not had recent activity. Please re-open it, if the issue persists. Thank you for your contributions.

@stale stale bot closed this as completed Feb 13, 2021
@DazedxJoker DazedxJoker reopened this Mar 7, 2021
@stale stale bot removed the stale label Mar 7, 2021
@DazedxJoker DazedxJoker added bug Issues for bug reports confirmed labels Mar 7, 2021
@K1ngSpad3z
Copy link
Contributor

Direction for fix:

  1. Change Elemental class tags (under 'svo Class Management') to single names (Air, Earth, Water, Fire) instead of full names(ex. "air elemantal").
  2. In class change code (svo.classchange script), string match the first word in gmcp.Char.Status.class to fill the class variable.

tsartin added a commit to tsartin/svof that referenced this issue Jan 28, 2022
Changes elemental lord format in svo.classes. Changed "Water Elemental" to "Water", etc

Also added some triggers to help detect elemental lords and Psion.

Should allow class flagging to work via triggers and TN/TF for elemental lords and psion as requested in svof#693

I changed this according to the suggestions but did not use the 'svo.classchange' suggestion as that refers to personal class and not who you are fighting.

NOTE: One concern is if someone was using something like svo.enableclasses or svo.classes with the old class names. Since there were no triggers to detect those classes, this it may not be a big deal though
@tsartin
Copy link

tsartin commented Apr 5, 2022

This can probably be closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issues for bug reports confirmed
Projects
None yet
Development

No branches or pull requests

6 participants