Mm-macro

From CLUMP
Jump to navigationJump to search

Shadrocks Multi-morph Macro

// TRIGGERS BELOW. FEEL FREE TO CHANGE
shift-f1    	call ranger_tracktarget0
shift-f2    	call ranger_tracktarget1
shift-f3  	call ranger_tracktarget2
shift-f4   	call ranger_tracktarget3
shift-f5   	call ranger_tracktarget4
shift-f6   	call ranger_morphtarget0
shift-f7   	call ranger_morphtarget1
shift-f8   	call ranger_morphtarget2
shift-f9   	call ranger_morphtarget3
shift-f10  	call ranger_unmorph
control-f1  	call ???
control-f2 	call ???
control-f3  	call ???
control-f4  	call ???
control-f5  	call ranger_release
control-f6  	call ???
control-f7  	call ???
control-f8  	call ???
control-f9  	call ???
control-f10  	call ranger_befriend
escape		call shieldstone_toggle

set morph_presettargets [0] "target not set"
set track_presettargets [0] "target not set"
 
"/setmorph" call morph_setmultitargets
"/settrack" call track_setmultitargets

morph_setmultitargets
{
    setglobal morph_index 0
    label morph_targets_top
    if morph_index < @text.num_words
            message setting @text.word[morph_index] at morph target morph_index
            setglobal morph_presettargets[morph_index] @text.word[morph_index]
        end if
        setglobal morph_index + 1
        pause 1
        goto morph_targets_top
    end if
}

track_setmultitargets
{
   setglobal track_index 0
   label track_targets_top
   if track_index < @text.num_words
           message setting @text.word[track_index] at tracking target track_index
           setglobal track_presettargets[track_index] @text.word[track_index]
       end if
       setglobal track_index + 1
       pause 1
       goto track_targets_top
   end if
}

ranger_tracktarget0
{
    set track_target track_presettargets[0]
    call ranger_track
}

ranger_tracktarget1
{
   set track_target track_presettargets[1]
   call ranger_track
}

ranger_tracktarget2
{
    set track_target track_presettargets[2]
    call ranger_track
}
  
ranger_tracktarget3
{
    set track_target track_presettargets[3]
    call ranger_track
}

ranger_tracktarget4
{
    set track_target track_presettargets[4]
    call ranger_track
}

ranger_morphtarget0
{
    set morph_target morph_presettargets[0]
    call ranger_morph
}

ranger_morphtarget1
{
   set morph_target morph_presettargets[1]
   call ranger_morph
}

ranger_morphtarget2
{
   set morph_target morph_presettargets[2]
   call ranger_morph
}

ranger_morphtarget3
{
    set morph_target morph_presettargets[3]
    call ranger_morph
}

ranger_track
{
	if @my.waist_item != "Belt of the Wild"
		"/equip beltofthewild\r"
		pause 1
	end if
	"/useitem waist /track " track_target "\r"
}

ranger_morph
{
	if @my.waist_item != "Belt of the Wild"
		"/equip beltofthewild\r"
		pause 1
	end if
	"/useitem waist /shape " morph_target "\r"
}

ranger_unmorph
{
	if @my.waist_item != "Belt of the Wild"
		"/equip beltofthewild\r"
		pause 1
	end if
	"/useitem belt /return" "\r"
}
 
ranger_befriend
{
	if @my.waist_item != "Belt of the Wild"
		"/equip beltofthewild\r"
		pause 1
	end if
	"/useitem belt /befriend" "\r"
		pause 1
	"/useitem belt /control" "\r"
}

ranger_release
{
	if @my.waist_item != "Belt of the Wild"
		"/equip beltofthewild\r"
		pause 1
	end if	
	"/useitem belt /dismiss" "\r"
}

shieldstone_toggle
{
	if @my.finger_item == "Shieldstone" //skips equip phase if true
	     goto ON
	end if

	label equip
	"/equip shieldstone\r"

	label ON
	"/useitem shieldstone\r"
	pause 1

	label CHECK //Checks for Shieldstone failures …
	if @env.textLog >= "Your Shieldstone goes inert"
	     pause 6
	     goto equip //…if so equips backup (if you have 1)
	end if
}