;-----------------------------------------------------------
; Script Name: Jabbers Static Magery trainer.
; Author: Jabber
; Version: 2.2
; Client Tested with: 7.0.58.12
; EUO version tested with: 1.5 (Updated on: 2017-04-28)
; Shard OSI / Only tested on RUNUO DEMISE server
; Revision Date: 11th July 2017
; Public Release: 11th July 2017
; Purpose: Trains Magery to GM. Stanging still. Without damaging LRC suit.
; Has a secondary effect of raising: Meditation/Focus/Eval Int/Magic Resist
;-------------------------------------------------------------
set %shutdown #FALSE ; #TRUE: Computer will shutdown when %skillcap reached.
; #FALSE: Script will halt. Computer will not shutdown.
set %skillcap 760 ; Script will halt, or shutdown when this skill level is reached
; 1000 = Magery 100.0 , 1100 = Magery 110.0 , 1200 = Magery 120.0
set %system_messages #TRUE ; set to #TRUE to see Wait times adapting.
; ------------------------Dont edit below unless you know what you're doing---------
set %curse 480
set %reflect_magic 620
set %invisability 760
set %mana_vampire 900
set %earthquake 1200
set %jaw 10 ; start duration for wait
set %jaw_speedup 30 ; number of spells to cast before speeding up wait
set %jaw_counter 0 ; counter used for %jaw_speedup
;-----------------------------------------------------------------------------------
set %jrnl #jindex
while #TRUE ; main program loop
{
gosub check_skill ; is it time to halt, or shutdown?
gosub jabbers_adaptive_wait ; wait time that tunes itself
if %magery_skill <= %curse
gosub cast_spell 11 26 1 ; mana needed, curse, 1=target self
if %magery_skill > %curse && %magery_skill <= %reflect_magic
gosub cast_spell 14 35 0 ; mana needed, reflect_magic
if %magery_skill > %reflect_magic && %magery_skill <= %invisability
gosub cast_spell 20 43 1 ; mana needed, invisability, 1=target self
if %magery_skill > %invisability && %magery_skill <= %mana_vampire
gosub cast_spell 40 52 1 ; mana needed, mana_vampire, 1=target self
if %magery_skill > %mana_vampire && %magery_skill <= %earthquake
gosub cast_spell 50 56 0 ; mana needed, earthquake
} ; end of main program loop
sub cast_spell ; -------------------------------------------------------------------
set %mana_needed %1
set %spell_to_cast %2
set %target_self %3
gosub mana_check
event macro 15 %spell_to_cast
if %target_self = 1
{
target 5s
set #ltargetkind 1
event macro 23
}
return
sub jabbers_adaptive_wait ; --------------------------------------------------------
wait %jaw
; this section slows down cast time if "recovered" or "already" found in journal
while #jindex > %jrnl
{
scanjournal %jrnl
if recovered in #journal || already in #journal
{
set %jaw %jaw + 2
if %system_messages #TRUE
event sysmessage JAW increased to %jaw
}
set %jrnl %jrnl + 1
}
; this section uses a counter to occasionally speed up cast times
set %jaw_counter %jaw_counter + 1
if %jaw_counter = %jaw_speedup
{
set %jaw_counter 0
set %jaw %jaw - 1
if %system_messages #TRUE
event sysmessage JAW decreased to %jaw
}
set %jrnl #jindex
return
sub mana_check ; -------------------------------------------------------------------
if #mana > %mana_needed ; Enough mana to cast spell?
return
wait 4s
event macro 13 46 ; use skill meditate
while #mana < #maxmana
wait 1
return
sub check_skill ; ------------------------------------------------------------------
chooseskill mage
set %magery_skill #skill
if %magery_skill < %skillcap
return
if %shutdown #FALSE
halt
shutdown
return
'Bot' to raise your magery skill in the old game 'Ultima Online', using the script language Easyuo.