-
Posts
438 -
Joined
-
Last visited
Content Type
Forums
Articles
Bug Tracker
Downloads
Store
Everything posted by Bugreporter
-
Ah, maybe I see your vanish problem. In the other fightclasses the only permission for vanish is: Me in Group= true. Simple, but work in the most cases. except free PvP. In Assa I add a 2. and 3. permission. CP=5 and in Rupture range. (a recommendation of Icy Veins to apply a rupture in stealth). Remove the both options and it should run maybe as you want. I think I will remove it to or make a second Vanish for PvP.
-
Good idea, but didn't work. Sub 1.6 work (no option text) sub 1.7 didnt (option text for Kidneyshot and Cheap Shot set) Rogue - Subtlety 1.7 [BR].xml Rogue - Subtlety 1.6 [BR].xml
-
Hi, is it possible to add event handling in a fight class ? In this sample someone shout "Hero" and the mage/shaman/whatever cast Bloodlust/Timewarp/whatever. local frame=CreateFrame("Frame"); --[[Need a frame to capture events]] frame:RegisterEvent("CHAT_MSG_SAY"); --[[Register our event]] frame:SetScript("OnEvent",function(self,event,msg) --[[ OnEvent handler receives event triggers ]] if event=="CHAT_MSG_SAY" and msg=="HERO" then --[[ Someone sends "HERO" in /say ]] hero=SpellInfo(2825) CastSpellByName(Hero) end end);
-
Version 1.1.0
644 downloads
Based on the recommendation of Icy Veins. Most Talents are supported. Artefact used. Food used. Raid-Talent: (1 ,2 ,2 ,2 ,1 ,2 ,1) Quest/Grinding: (2,3,3,2,1,1,1) Some spells are optional. See fightclass settings. Time Warp: Not used in groups! Without this, used on >=rare mobs. Mana Pudding (Hmmmm). If you cant cast Mana pudding (to high, to low) you must change the spell 80610 to the Item-id you cast. change in the lua-option of spell Conjure Refreshment the number 80610 to the item-id you create. --Use Item: Apply most common Artefacts to you weapon. -
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)
-
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)
-
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
-
Vanish usage is difficult: 1. PvP = no problem 2. PvE = 2.1 Only you and the target. Not usable, Fight will be resettet 2.2 you fight against a target, but another one has the Aggro. No Problem 2.3 same scenario, but other enemys fighting against you. Aggro get lost. 2.4 in Group (no dungeon): Possible, but only if another group-member is near enough to get the aggro. 2.5 in Group (dungeon): no problem in the most cases,except you want help an attacked healer point 2.2 - 2-5 is not really solveable/detectable via lua. Exsanguinate: I will have a look at this.
-
-
http://wowwiki.wikia.com/wiki/API_UnitThreatSituation is what you are looking for. You can scan your party if someone have a higher threat. The problem is, to find out the mob which attacks the healer (i.e) . I dont know a possiblity to scan all mobs around you in LUA. Wrobots C#.library can do that, as far as I know.
-
Please wrote, which skills are you missing. Maybe @DRWolf can add them to his profile. (or wrote to him direct) Most of the profiles dont support all skills, becaase of to less dps or worst realising.
-
I used this snippet in my old fightclasses SinisterStrike (1792) is just to check, if the target is in range. Use a spell of your spellbook which have the same range as the trinket. <FightClassSpell> <FightClassConditions> <FightClassCondition> <ContionType>LuaScript</ContionType> <Param xsi:type="FightClassConditionLua"> <LuaScript> if UnitExists("target") then if not UnitIsFriend("player", "target") and not UnitIsDead("target") then if not IsStealthed() then local slot="Trinket0Slot" local SinisterStrike=GetSpellInfo(1752) if (GetComboPoints("player") > 0) and (IsSpellInRange(SinisterStrike,"target")==1) then local slotId, texture, checkRelic = GetInventorySlotInfo(slot) local itemId = GetInventoryItemID("player", slotId) local start, duration, enable = GetItemCooldown(itemId) if (duration==0) then UseInventoryItem( slotId ); result=true end end end end end </LuaScript> <VarRet>result</VarRet> <ValueRet>true</ValueRet> </Param> </FightClassCondition> </FightClassConditions> <SpellName>--use 13 (first trinket)</SpellName> <CombatOnly>false</CombatOnly> <CastIfMounted>true</CastIfMounted> <CheckIfKnow>false</CheckIfKnow> <CheckIfSpellUsable>false</CheckIfSpellUsable> <CheckSpellDistance>false</CheckSpellDistance> <AddToSettings>true</AddToSettings> <NotSpellIsLuaScript>true</NotSpellIsLuaScript> <CanMoveDuringCast>Yes</CanMoveDuringCast> <DescriptionSpell>/use 13</DescriptionSpell> </FightClassSpell>
-
In the next few days i dont have access to my wow-account, to check it So: did you start in stealth? - If so, is "Break Stealth" active ? - if not, did the bot start after you start the first attack ? The hole script works conserative. It doesn't start an attack before you are in combat/being attacked. The reason is pick pocketing. The only attack that starts out of combat is "Break Stealth". This works god for the most usages, except Test Dummy If nothing helps, test it with elite mobs. They live long enough to get an good overview ;-)
-
Dis you changed the spell setting "Not Spell, is Lua Script" ? additional you cann disable the 4 check spell setting (range, known, exist, ...)
-
How cast Sidewinders before reach 2 stacks
Bugreporter replied to Drwolftech's topic in Fight Classes assistance
GetSpellCharges do, what you want. Its not difficult to check if there are 2 charges. But it could very difficult to check, if you used one before (and want now used the second one). With my Sub-Rogue i can check a buff (31223) which exist 5 sec's longer then shadowdance (185313). (but only if a special talent used) local spellname=GetSpellInfo(36554) --[[ Shadowstep ]] if UnitExists("target") and not UnitIsFriend("player", "target") and (IsSpellInRange(spellname,"target")==1) and (UnitHealth("target")>1) then local currentCharges, maxCharges, cooldownStart, cooldownDuration = GetSpellCharges(185313) local now=GetTime(); if (currentCharges>=2) or ((UnitBuff("player",GetSpellInfo(31223))~=nil) and (currentCharges~=0)) then result=true --[[ Stealth, Shadow Dance or Subterfuge ]] if IsStealthed() or (UnitBuff("player",GetSpellInfo(185313))~=nil) or (UnitBuff("player",GetSpellInfo(108208))~=nil) then result=false end end end -
There are 2 settings that could solve the problem: Attack before being attacked (General settings) Attack all selected targets (friends also) (Product settings / wrotation)
-
I think theproblem is, that MOLL-E is now a toy (like Jeeves). so itt not longer in a Bag Droidz: If you change this, remember, that MOLL-E is a toy that every char could have in his toxbox, but only engeneers with a level >= 425 can use it
-
Version 1.1.0
648 downloads
Use the recommendations from Icy-Veins. Talent ( 3, 1 ,2 or 3 ,3 ,3 ,2 ,1 ). DONT USE this in RAIDs !!! It's not tested in dungeons. Selfheal is used, if talent 45:3 is selected. Will not be used while your role is tank. If you want more DPS then heal, take talent 45:2. (Cat form will be used, if target not targetting you, and Energy is 100. Bear form will be used if Energie lower 35 or the target targetting you) Maul is optional and off per default Growl is optional and off per default It's version 1.0 . Test it and report your suggestions. -
hmm, bad, then it is not useful for me. Thanks.
-
You can test this with my Rogue - Sub Fightclass (Version 1.6)
-
I have two spell entries. Both with the same name (Cheap Shot) . - One is for PvP an should ever be one. (no entry in the settings). - The other one (PvE) should be optional and default off. Bug: The Setting in the Cheap Shot (PvE) disable also Cheap Shot (PvP)
-
If I add an item id, I get an CS error AppData\Local\Temp\unke1xss.0.cs(56,165) : error CS1001: As spellname, I add the item-ID. What is the right usage of this. <FightClassSpell> <FightClassConditions> <FightClassCondition> <ContionType>Energy</ContionType> <Param xsi:type="FightClassConditionNumber"> <Type>Smaller</Type> <Value>30</Value> </Param> </FightClassCondition> <FightClassCondition> <ContionType>LuaScript</ContionType> <Param xsi:type="FightClassConditionLua"> <LuaScript> function hasValue (tab, val) for index, value in ipairs (tab) do if value == val then return true end end return false end local Cont={} local mapID, isContinent = GetCurrentMapAreaID() if mapID and not isContinent then Cont["BrokenIsles"]={1007,1015,1021,1014,1098,1024,1017,1033,1018,1081,1087,1067,1046,1041,1042,1065,1079,1045,1066,1094,1088} result=hasValue(Cont["BrokenIsles"],mapID) if not result then if (mapID > 1008) and mapID~=1026 then print("new Zone: "..mapID) end end end </LuaScript> <VarRet>result</VarRet> <ValueRet>true</ValueRet> </Param> </FightClassCondition> <FightClassCondition> <ContionType>TargetHealthPercent</ContionType> <Param xsi:type="FightClassConditionNumber"> <Type>Bigger</Type> <Value>10</Value> </Param> </FightClassCondition> </FightClassConditions> <SpellName>139586</SpellName> <CheckSpellDistance>false</CheckSpellDistance> <CheckIfView>false</CheckIfView> <AddToSettings>true</AddToSettings> <AddToSettingsActiveByDefault>true</AddToSettingsActiveByDefault> <NotSpellIsItemId>true</NotSpellIsItemId> <CastOnSelf>true</CastOnSelf> <CastOn>player</CastOn> </FightClassSpell>
-
Ok. did it ever been worked ? since 7.0.3 ? Because it is an replacement of Arcane Shot it's possible that the spell Arcane Shot Sidewinder cast (parent spell). To test this replace sidewinder in the fightclass with Arcane Shot