MrBottie 4 Posted October 4, 2016 Share Posted October 4, 2016 Hi there, Im currently testing some fight classes and creating/modifiying new/old ones. It's all going fine but I have some questions... Interrupts When I add an interupt condition (enemy is casting or check if it can be interrupted), the wrotation is fast as lightning and sometimes interrupts the cast within half a second. To make it look more "humanized", I want to add a small delay (an extra 0.5 sec for example). Is this possible? Ingame Debug/Test For example, I want to know the current target's level and distance. How can I use the developer tools to see this on the fly? Thanks in advance! Love this piece of software! <3 Link to comment https://wrobot.eu/forums/topic/4014-fight-class-questions/ Share on other sites More sharing options...
Bugreporter 93 Posted October 4, 2016 Share Posted October 4, 2016 Interrupts: Simple. You have the starttime of the cast/channel. Now check, if the cast is "old enough" to interrupt. Distance: not really possible in LUA. Targets Level is simple: UnitLevel MrBottie 1 Link to comment https://wrobot.eu/forums/topic/4014-fight-class-questions/#findComment-18642 Share on other sites More sharing options...
MrBottie 4 Posted October 4, 2016 Author Share Posted October 4, 2016 23 minutes ago, Bugreporter said: Targets Level is simple: UnitLevel But how to do it in realtime? I want some kind of "debug" result when I target something, I want to write the unitlevel to the log for example :) About the interrupts, it's only possible with LUA code? I'm trying to tweak your Rogue Outlaw profile to get It raid ready (love it) Link to comment https://wrobot.eu/forums/topic/4014-fight-class-questions/#findComment-18643 Share on other sites More sharing options...
Bugreporter 93 Posted October 4, 2016 Share Posted October 4, 2016 Ok, lets talk about Kick, baby *singing*. Line 3+5 : You have in both lines a startTime variable. in line 13 the variable "now" will set the realtime. so TimeCastStarted=now - startTime if TimeCastStarted > 2 then --[[ cast started 2 sec before ]] -- [[ do the kick ]] end An no, I think its also possible in C# (dont ask me how) realtime unitlevel: we dont have a possibility to write the log of wrobot. But maybe in the fightlog of wow, but I'v never tried this. For a simple output for each selected target, you can add a spell (once per target) which only print unitname and unitlevel to the chat window. if UnitExists("target") and not UnitIsFriend("target", "focus") then print(UnitInfo("target").."("..UnitLevel("target")..")") result=true end All snippets are untested. local kicked=0 if UnitExists("target") and not UnitIsFriend("player", "target") then local spell, rank, displayName, icon, startTime, endTime, isTradeSkill, castID, nonInterrupt = UnitCastingInfo("target"); if (spell==nil) then spell, displayName, icon, startTime, endTime, isTradeSkill, castID, nonInterrupt = UnitChannelInfo("target"); end if (spell~=nil) then if (nonInterrupt==false) then --[[ (cheapest first) Kick,Blind,Gouge --]] local idSpells={1766,2094,1776}; local now=GetTime(); local guid=UnitGUID("target"); local type, zero, serverId, instanceId, zoneId, npcId, spawnUid = strsplit("-",guid); local dontKick={[82618]={171807}; --[[ Tor'goroth, skip Shadow Bolt to kick Consume Life ]] [82682]={166465}; --[[ Archmage Sol, skip Frost Bolt to kick Parasitic Growth ]] --[[ [86135]={172014,172024,172005}; test Ralshira ]] }; local ignoreKick=0; npcId=tonumber(npcId); if (dontKick[npcId]~=nil) then if (dontKick[npcId][1]~=nil) then for i=1, #dontKick[npcId] do if (spell==GetSpellInfo(dontKick[npcId][i])) then ignoreKick=1 end end end end for i=1+ignoreKick, #idSpells do if (kicked==0) then local spellname=GetSpellInfo(idSpells[i]) local start, duration, enabled = GetSpellCooldown(spellname) if (duration==0) then if IsSpellInRange(spellname, "target")==1 then CastSpellByName(spellname) kicked=idSpells[i] print(spell.." kicked by "..spellname) end end end end else local idFeint=1966 local spellname=GetSpellInfo(idFeint) local start, duration, enabled = GetSpellCooldown(spellname) if ((duration==0) and not UnitBuff("player",spellname)) then CastSpellByName(spellname) kicked=1; --[[ only for log ]] end end end end result=(kicked~=0) Link to comment https://wrobot.eu/forums/topic/4014-fight-class-questions/#findComment-18644 Share on other sites More sharing options...
MrBottie 4 Posted October 4, 2016 Author Share Posted October 4, 2016 Thanks, seems clear to me now... my journey to create the ultimate outlaw rogue profile continues! Link to comment https://wrobot.eu/forums/topic/4014-fight-class-questions/#findComment-18645 Share on other sites More sharing options...
Bugreporter 93 Posted October 4, 2016 Share Posted October 4, 2016 Some words to "realtime". Fightclasses didn't not work in "realtime", but "just-in-time" . They can react, and mostly they can do it "just-in-time", but it's also possible, that you miss kickable spell, because of "Killing Spree" or anoher long running Spell. We also would miss all kickable spells that will be cast from others then out Target/Focus (Focus-kick: see Sub-Profile, I dont kow, why i didn't change it in Outlaw) because we can't scan in realtime. (just my 50 cent to realtime/just-in-time) Link to comment https://wrobot.eu/forums/topic/4014-fight-class-questions/#findComment-18646 Share on other sites More sharing options...
Bugreporter 93 Posted October 28, 2016 Share Posted October 28, 2016 Hey @MrBottie, whats about your ultimate outlaw rogue profile ? I want to see/test it. It's 3 weeks ago ! Link to comment https://wrobot.eu/forums/topic/4014-fight-class-questions/#findComment-19721 Share on other sites More sharing options...
MrBottie 4 Posted October 28, 2016 Author Share Posted October 28, 2016 10 minutes ago, Bugreporter said: Hey @MrBottie, whats about your ultimate outlaw rogue profile ? I want to see/test it. It's 3 weeks ago ! Still busy with it but I only raid Assas at the moment as they nerfed outlaw too much :-) Link to comment https://wrobot.eu/forums/topic/4014-fight-class-questions/#findComment-19722 Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now