#Written by Cheese (#1759414)
#Changelog:
#Further editors: New edits get new GUIDS, move very old changes (and GUIDS) below script
#For information about GUIDs, see the end of the script.
#Version 1283e714-d027-4a34-a7cf-91cfbdbe1f33 - DanielH (#2157786)
# Refactoring, Potential bugfixes, and additional abort messages
#Version 6f97a73c-9181-435a-8d0c-2f40be7465fc - Cheese (#1759414)
# Initial version; untested because no account in war
#It is VERY important that before using this macro and going on the sidequest, you set 3 timers:
#You must set them in the following order, and they must be your only timers running at the time.
#Set your first timer to be "wrench", your second to be "pliers", and your third to be "screwdriver"
#All timers should be set for 99 turns, which should be more than enough time to complete the side quest.
#Each time you find a tool and are sent to find the next, shrug the effect of the tool you are searching to find
#For instance, if you find the hammer, and are sent to find the wrench, shrug the effect "wrench"
#Change the subroutine kill to be your prefered method of disposing of a monster.
#change noted point to be your preferred method of stalling a monster
#Check if this might be your gremlin
if monstername batwinged gremlin
if haseffect timer 1
call might
endif
endif
if monstername erudite gremlin
if (haseffect timer 2) && (!haseffect timer 1)
call might
endif
endif
if monstername spider gremlin
if (haseffect timer 3) && (!haseffect timer 2)
call might
endif
endif
if monstername vegetable gremlin
if !haseffect timer 3
call might
endif
endif
if !monstername * gremlin
abort This macro is meant for the junkyard.
endif
#If we're here, we don't care about this gremlin
call kill
#This subroutine steals the tool if it's there, returns if the tool isn't there, or quits if we
#are too injured to continue.
sub might
#These messages would prove that it is not our gremlin
while !(match "It does a bombing run over your head" || match "He uses the random junk around him to make an automatic eyeball-peeler" || match "It bites you in the fibula with its mandibles" || match "It picks a beet off of itself and beats you" || match "It picks a radish off of itself and tosses it")
#These messages prove it is your gremlin
if match "It whips out a hammer (you're not sure from where), and hammers on your head with it. Dude, you're so hammered." || match "He whips out a crescent wrench from somewhere, places it on your finger, and carefully calibrates how tightly he has to adjust it to make you scream bloody murder." || match "It whips out a pair of pliers and fastens them firmly on your" || match "It whips out a screwdriver and stabs you with it. Where did it get the vodka and orange juice? Oh, wait, it was just the regular, metal, stabby kind of screwdriver."
call steal
endif
#Check to see if we're too injured. We abort instead of kill so the player knows.
if hppercentbelow 30
abort 'Ouch; that hurt too much to continue.'
endif
#Change this to be your non-stunning and non-damaging stalling tactic of choice
use facsimile
endwhile
#At this point, we know it's not our gremlin and we don't care about it.
endsub
#This subroutine steals the tool if it's present and aborts if it isn't.
sub steal
use molybdenum
abort 'We just tried to steal but we are still in combat.'
endsub
#Change this one so you can completely kill a monster. Or maybe use a runaway.
sub kill
use rain-doh blue
skill throw shield
attack
attack
#At this point, we give up on killing automatically. You should probably keep this line.
abort 'Unable to kill the gremlin'
endsub
#1 = wrench
#2 = pliers
#3 = screwdriver
#GUIDs (aka UUIDs) are almost surely unique (you're more likely to win the lottery than to find
#a duplicate one) so are very easy to Google. Any search for the changelog GUIDs will almost certainly
#be concerned with this script. To generate a new GUID, you can go to
# http://www.famkruithof.net/uuid/uuidgen