Re: Warden pet class
Posted: Thu Jan 05, 2012 12:36 am
Bah I'll have to find some time to do more testing =(rock5 wrote:BTW it dismounts me to cast the water fairy skill.
Bah I'll have to find some time to do more testing =(rock5 wrote:BTW it dismounts me to cast the water fairy skill.
Code: Select all
<skills_warden>
<skill name="WARDEN_VALIANT_SHOT" hotkey="MACRO" priority="140" />
<skill name="WARDEN_CENTAURS_ARROW" hotkey="MACRO" priority="130" />
<skill name="WARDEN_CHARGED_CHOP" hotkey="MACRO" priority="50" />
<skill name="WARDEN_ENERGY_ABSORB" hotkey="MACRO" priority="30" inbattle="true" hpper="75" />
<skill name="SCOUT_VAMPIRE_ARROWS" hotkey="MACRO" priority="70" />
<skill name="SCOUT_SHOT" hotkey="MACRO" priority="60" />
<skill name="WARDEN_MOVEMENT_RESTRICTION" hotkey="MACRO" priority="80" />
<skill name="WARDEN_ANTI-MAGIC_ARROW" hotkey="MACRO" priority="100" />
<skill name="WARDEN_BRIAR_SHIELD" hotkey="MACRO" priority="120" inbattle="false" />
<skill name="WARDEN_SUMMON_CHIRON_THE_CENTAUR" hotkey="MACRO" priority="1" autouse="false" />
<skill name="WARDEN_PROTECTION_OF_NATURE" hotkey="MACRO" priority="1" autouse="false" />
<skill name="WARDEN_SAVAGE_POWER" hotkey="MACRO" priority="1" autouse="false" />
<skill name="WARDEN_ELVEN_PRAYER" hotkey="MACRO" priority="1" autouse="false" />
<skill name="WARDEN_MORALE_BOOST" hotkey="MACRO" priority="1" autouse="false" />
<skill name="WARDEN_ELVEN_GUIDANCE" hotkey="MACRO" priority="1" autouse="false" />
<skill name="WARDEN_EXPLOSION_OF_POWER" hotkey="MACRO" priority="1" autouse="false" />
<skill name="WARDEN_SUMMON_NATURE_CRYSTAL" hotkey="MACRO" priority="1" autouse="false" />
<skill name="WARDEN_THORNY_VINES" hotkey="MACRO" priority="40" />
<skill name="WARDEN_FRANTIC_BRIAR" hotkey="MACRO" priority="90" />
</skills_warden>
<skills_druid>
<skill name="DRUID_RECOVER" modifier="" hotkey="VK_2" priority="90" hpper="30" />
<skill name="DRUID_EARTH_ARROW" modifier="" hotkey="VK_3" priority="80" />
</skills_druid>
<onLoad><![CDATA[
runicthorn()
startGMDetect()
if player.Class1 == 7 and player.Class2 == 2 then
registerTimer("summon", minutesToTimer(15),
function () player:cast("WARDEN_SUMMON_NATURE_CRYSTAL") end);
end
]]></onLoad>
<onDeath><![CDATA[
-- Additional Lua code to execute on death
-- pauseOnDeath(); -- Stop the script
-- player:logout(); -- logout
]]></onDeath>
<onLeaveCombat>
runicthorn2()
if 25 > (player.Pet.HP/player.Pet.MaxHP * 100) then
player:target( player.Pet )
player:cast("WARDEN_SUMMON_CHIRON_THE_CENTAUR")
yrest(1000)
end
if not player:hasBuff("Protection of Nature") then
player:cast("WARDEN_SUMMON_NATURE_CRYSTAL");
player:cast("WARDEN_PROTECTION_OF_NATURE");
player:cast("WARDEN_SUMMON_CHIRON_THE_CENTAUR");
end
if player:findNearestNameOrId(102102) then
local Evelyn = player:findNearestNameOrId(102102)
player:target(Evelyn)
player:fight()
end
</onLeaveCombat>
<onSkillCast><![CDATA[
if( arg1.Name == "WARDEN_SUMMON_NATURE_CRYSTAL" ) then
player:cast("WARDEN_PROTECTION_OF_NATURE");
player:cast("WARDEN_SUMMON_CHIRON_THE_CENTAUR");
end
if player.Class1 == 7 and player.Class2 == 2 then
player:cast("WARDEN_SAVAGE_POWER")
player:cast("WARDEN_ELVEN_PRAYER")
player:cast("WARDEN_MORALE_BOOST")
player:cast("WARDEN_ELVEN_GUIDANCE")
player:cast("WARDEN_EXPLOSION_OF_POWER");
end
]]></onSkillCast>
<onPreSkillCast>
target = player:getTarget();
if player.Class1 == 7 and target.Type == 2 and (not player.Battling) then
RoMScript("UsePetAction(6)")
yrest(1000) -- pause to let pet attack before bot
end
if( arg1.Name == "WARDEN_SUMMON_NATURE_CRYSTAL" ) then
player:cast("WARDEN_PROTECTION_OF_NATURE");
player:cast("WARDEN_SUMMON_CHIRON_THE_CENTAUR");
end
</onPreSkillCast>
</profile>
Code: Select all
if player.Class1 == 7 and player.Class2 == 2
Code: Select all
if not player:hasBuff("Protection of Nature") then
player:cast("WARDEN_SUMMON_NATURE_CRYSTAL");
player:cast("WARDEN_PROTECTION_OF_NATURE");
player:cast("WARDEN_SUMMON_CHIRON_THE_CENTAUR");
end
Code: Select all
<skills_warden>
<skill name="WARDEN_CHARGED_CHOP" hotkey="MACRO" priority="50" />
<skill name="WARDEN_ENERGY_ABSORB" hotkey="MACRO" priority="30" inbattle="true" hpper="75" />
<skill name="SCOUT_VAMPIRE_ARROWS" hotkey="MACRO" priority="70" />
<skill name="SCOUT_SHOT" hotkey="MACRO" priority="60" />
<skill name="WARDEN_MOVEMENT_RESTRICTION" hotkey="MACRO" priority="80" />
<skill name="WARDEN_ANTI-MAGIC_ARROW" hotkey="MACRO" priority="100" />
<skill name="WARDEN_BRIAR_SHIELD" hotkey="MACRO" priority="120" inbattle="false" />
<skill name="WARDEN_SUMMON_CHIRON_THE_CENTAUR" hotkey="MACRO" priority="90" />
<skill name="WARDEN_PROTECTION_OF_NATURE" hotkey="MACRO" priority="100" />
<skill name="WARDEN_SAVAGE_POWER" hotkey="MACRO" priority="1" autouse="false" />
<skill name="WARDEN_ELVEN_PRAYER" hotkey="MACRO" priority="90" />
<skill name="WARDEN_MORALE_BOOST" hotkey="MACRO" priority="1" autouse="false" />
<skill name="WARDEN_ELVEN_GUIDANCE" hotkey="MACRO" priority="1" autouse="false" />
<skill name="WARDEN_EXPLOSION_OF_POWER" hotkey="MACRO" priority="1" autouse="false" />
<skill name="WARDEN_THORNY_VINES" hotkey="MACRO" priority="40" />
<skill name="WARDEN_FRANTIC_BRIAR" hotkey="MACRO" priority="90" />
</skills_warden>
<onLoad><![CDATA[
runicthorn()
startGMDetect()
]]></onLoad>
<onDeath><![CDATA[
-- Additional Lua code to execute on death
-- pauseOnDeath(); -- Stop the script
-- player:logout(); -- logout
]]></onDeath>
<onLeaveCombat>
runicthorn2()
if player:findNearestNameOrId(102102) then
local Evelyn = player:findNearestNameOrId(102102)
player:target(Evelyn)
player:fight()
end
</onLeaveCombat>
<onSkillCast><![CDATA[
if player.Class1 == 7 and player.Class2 == 2 then
player:cast("WARDEN_SAVAGE_POWER")
player:cast("WARDEN_ELVEN_PRAYER")
player:cast("WARDEN_MORALE_BOOST")
player:cast("WARDEN_ELVEN_GUIDANCE")
player:cast("WARDEN_EXPLOSION_OF_POWER");
end
]]></onSkillCast>
<onPreSkillCast>
target = player:getTarget();
if player.Class1 == 7 and target.Type == 2 and (not player.Battling) then
RoMScript("UsePetAction(6)")
yrest(1000) -- pause to let pet attack before bot
end
</onPreSkillCast>
</profile>
Code: Select all
if pet.Id ~= 102105 then -- Water Fairy
if not player.Mounted() then
keyboardRelease(settings.hotkeys.MOVE_FORWARD.key); yrest(500)
sendMacro("CastSpellByName(\""..GetIdName(493268).."\")")
print("Summoning "..GetIdName(102105))
end
Code: Select all
function waterfairy()
if player.Class1 ~= CLASS_PRIEST or player.Class2 ~= CLASS_SCOUT then
return -- can't have a water fairy if class is wrong
end
petupdate()
if pet.Id ~= 102105 then -- Water Fairy
keyboardRelease(settings.hotkeys.MOVE_FORWARD.key); yrest(500)
sendMacro("CastSpellByName(\""..GetIdName(493268).."\")")
print("Summoning "..GetIdName(102105))
repeat
yrest(1000)
player:update()
until not player.Casting
petupdate()
local icon,active,autoCastAllowed = RoMScript("GetPetActionInfo(5)")
if active == true then
sendMacro("UsePetAction(5)")
end
player.LastDistImprove = os.time(); -- global, because we reset it whil skill use
end
if not pet:hasBuff(503736) then -- Frost Halo
sendMacro("UsePetAction(6)")
yrest(500)
end
if not pet:hasBuff(503753) then -- Conceal
sendMacro("UsePetAction(7)")
yrest(500)
end
end
Code: Select all
function waterfairy()
if player.Class1 ~= CLASS_PRIEST or player.Class2 ~= CLASS_SCOUT then
return -- can't have a water fairy if class is wrong
end
petupdate()
if pet.Id ~= 102105 then -- Water Fairy
if not player.Mounted then
keyboardRelease(settings.hotkeys.MOVE_FORWARD.key); yrest(500)
sendMacro("CastSpellByName(\""..GetIdName(493268).."\")")
print("Summoning "..GetIdName(102105))
end
repeat
yrest(1000)
until not (memoryReadRepeat("int", getProc(), player.Address + addresses.pawnCasting_offset) ~= 0);
petupdate()
local icon,active,autoCastAllowed = RoMScript("GetPetActionInfo(5)")
if active == true then
sendMacro("UsePetAction(5)")
end
player.LastDistImprove = os.time(); -- global, because we reset it while skill use
end
if not pet:hasBuff(503736) then -- Frost Halo
sendMacro("UsePetAction(6)")
yrest(500)
end
if not pet:hasBuff(503753) then -- Conceal
sendMacro("UsePetAction(7)")
yrest(500)
end
end
Code: Select all
if not player.Mounted then
keyboardRelease(settings.hotkeys.MOVE_FORWARD.key); yrest(500)
sendMacro("CastSpellByName(\""..GetIdName(493268).."\")")
print("Summoning "..GetIdName(102105))
repeat
yrest(1000)
until not (memoryReadRepeat("int", getProc(), player.Address + addresses.pawnCasting_offset) ~= 0);
petupdate()
local icon,active,autoCastAllowed = RoMScript("GetPetActionInfo(5)")
if active == true then
sendMacro("UsePetAction(5)")
end
player.LastDistImprove = os.time(); -- global, because we reset it while skill use
end
Code: Select all
if player.Mounted then
return
end
Code: Select all
<onSkillCast>
evelyn = player:findNearestNameOrId("Evelyn")
if evelyn then
player:cast("WARDEN_FRANTIC_BRIAR")
end
</onSkillCast>
lisa wrote:Actually I simplified the pet usage to its bare minimum.
You don't need all those player:cast() anymore.
Just set up your profile with the pet and buff you want.
In your case you want the oak walker buff.and to summon chironCode: Select all
<skill name="WARDEN_POWER_OF_THE_OAK" hotkey="MACRO" priority="90" />
If you have those in your profile and no other summon or buff skills then it will redo the buff when needed and always have chiron summoned.Code: Select all
<skill name="WARDEN_SUMMON_CHIRON_THE_CENTAUR" hotkey="MACRO" priority="90" />
So remove the summon oak walker from profile or change it to autouse="false"but you don't need it in your profile anymore.Code: Select all
<skill name="WARDEN_SUMMON_OAK_WALKER" hotkey="MACRO" priority="90" autouse="false" />
Code: Select all
Use MACRO: WARDEN_SUMMON_OAK_WADid not find any crashed game clients.
3:58pm - ...Sr/Desktop/RomBot 2011/scripts/rom/classes/skill.lua:553: attempt to
call global 'petupdate' (a nil value)
Code: Select all
<onSkillCast><![CDATA[
target = player:getTarget();
if target.Id == 103169 then
if sendMacro("madman.Time") >= 1 then
player:clearTarget();
printf("Running\n")
yrest(4000)
end
end
player:updateBuffs()
if( arg1.Name == "WARDEN_SUMMON_OAK_WALKER" ) then
player:cast("WARDEN_POWER_OF_THE_OAK");
player:cast("WARDEN_SUMMON_CHIRON_THE_CENTAUR");
yrest(7000)
end
if( arg1.Name == "WARDEN_SUMMON_SPIRIT_OF_THE_OAK" ) then
player:cast("WARDEN_HEART_OF_THE_OAK");
player:cast("WARDEN_SUMMON_CHIRON_THE_CENTAUR");
yrest(7000)
end
icon, auto = RoMScript("GetPetActionInfo(7)")
if not auto then
keyboardPress( key.VK_7, key.VK_CONTROL );
yrest(50);
end
if arg1.Name =="WARDEN_POWER_OF_THE_WOOD_SPIRIT" then
yrest(100);
player:cast("SCOUT_JOINT_BLOW");
end
Code: Select all
<!-- # 1 --><waypoint x="1793" z="2880" y="433">
if not player:hasBuff("POWER OF THE OAK") then
player:cast("WARDEN_SUMMON_OAK_WALKER");
yrest(100);
player:update()
end
if (player.PetPtr) == 0 then
yrest(100);
player:cast("WARDEN_SUMMON_CHIRON_THE_CENTAUR");
player:rest(7);end
if not player:hasBuff("Unbridled Enthusiasm") then
inventory:useItem("UNBRIDLED_ENTHUSIASM")
end
if (player.PetPtr) == 0 then
yrest(100);
player:cast("WARDEN_SUMMON_CHIRON_THE_CENTAUR");
yrest(7000);player:update();
end
changeProfileOption("EGGPET_ENABLE_ASSIST", false);
</waypoint>