Click.mac v3.00b - resurrect corpses (new version, OMG!)
Posted: Sun Feb 19, 2006 4:32 pm
Resurrects corpses in an area around you, sorted according to a certain order defined in the ini-file. Designed mainly for the raiding cleric to assist in resurrecting after or during raid encounters although it would techically work for a paladin or non-raiding cleric as well. It works inside a specified radius around you and checks corpses for valid timers by consenting them. The sorting mechanism is useful for example if you want to give precedence to classes vital to quickly getting the raid back on it's feet or surviving an encounter in a bad shape. It can also prioritize friends or ignore people or guilds you dislike.
This is the third major version of my macro that resurrects corpses in an area around you for clerics and paladins. I know it's long over due, the old one was forgotten as my previous guild fell apart (damn those ban-happy GMs :). Now that my current guild has started working on OMM and spider queen there has been plenty of need for a macro like this. I was reminded of this old project and decided to get to work.
It is a complete rewrite from the previous version. Some features are:
Paranoia features (for those who don't want to look like rez-machines):
These are all disabled by default and controlled from the ini-file.
Enhanced vip version by A_Druid_00
Original non-vip version
Quicksort routine courtesy of s0rcier.
To use follow these steps:
EDIT: 500 posts, hooray!
click_event.inc:
click.ini:
This is the third major version of my macro that resurrects corpses in an area around you for clerics and paladins. I know it's long over due, the old one was forgotten as my previous guild fell apart (damn those ban-happy GMs :). Now that my current guild has started working on OMM and spider queen there has been plenty of need for a macro like this. I was reminded of this old project and decided to get to work.
It is a complete rewrite from the previous version. Some features are:
- Ability to swap in epic automatically*
- Automatic detection of epic and highest availiable resurrection spell*
- Skipping corpses acknowledged by other clerics through hails or custom messages*
- Skipping corpses whose owners are already looting*
- Consents to determine if a corpse is valid
- A more advanced method of defining the order in which to rez corpses*
- Ability to ignore corpses definable through the sort ruleset
- Possibility to define several rulesets and choose among them on the command line
- Accurate separation of player and npc corpses*
- Tells to the recipient and to a channel of your choice as you rez as well as hailing the corpse*
- Several features to help hide the fact that you use a macro to rez*
- A special guild lobby mode that only resurrects corpses when their owner is close (only active in GL)*
* improvement over version 2.x
Paranoia features (for those who don't want to look like rez-machines):
These are all disabled by default and controlled from the ini-file.
- Line of sight check to corpses
- Random time delays between resurrections
- Randomizable resurrection order (random type in sort rules)
- Random notifications to channels (only announce x% of resurrections)
Enhanced vip version by A_Druid_00
Original non-vip version
Quicksort routine courtesy of s0rcier.
To use follow these steps:
- Copy and paste the three files click.mac, click_event.inc and click.ini and save them in your macro directory
- Make sure you have spell_routines.inc installed. If not use the link provided above
- (optional) Glance over the settings in the ini file. Defaults are usually ok but you might want to customize.
- (optional) Customize message events in click_event.inc to capture resurrection notifications from other clerics.
- Type "/macro click" to run.
EDIT: 500 posts, hooray!
click_event.inc:
Code: Select all
#event Hail "#1# says, 'Hail, #2#'s corpse'"
| Edit these as needed
#event Hail "#1# tells clericchan:#*#, 'rezzing < #2# >'"
#event Hail "#1# tells clericchan:#*#, 'inc rez #2#'"
#event Hail "#1# tells clericchan:#*#, 'Rezzing - #2#'"
#event Hail "#1# tells #*#:#*#, 'Rezzing #2#'"Code: Select all
[Main]
| How much output the macro should produce. 0-4 where 0 is silent, 4 is max.
NoiseLevel=3
| The radius around you to check for corpses.
Radius=200
| The vertical radius around you to check for corpses. Useful so you wont rez
| corpses on a floor below you for example.
ZRadius=50
| Check for line of sight before resurrecting a corpse. 0 to turn it off, 1 to turn it on.
LineOfSight=0
| Use special code in guild lobby. Only resurrect corpses whose owners are near them. 0 off, 1 on.
Lobby=1
| Toggles the sending of a tell to the owner of the corpse. 0 to turn it off, 1 to turn it on.
SendTell=0
| The message sent as a tell to the owner of the corpse you are resurrecting.
Tell=Inc Rez!
| Hail corpses before resurrecting them? 0 to turn it off, 1 to turn it on.
AnnounceHail=0
| Announce resurrects to a channel? Give the number of the channel here.
| This string is used in the command like this: "/<AnnounceChan> Rez inc %t !"
| Examples:
| 4 - (tell channel 4)
| g - (tell the group)
| say - (send to /say)
AnnounceChan=3
| Percentage of the time to announce resurrects to the channel. 0 to disable, 100 to announce
| everyo corpse. Useful to hide the speed at which you resurrect if you want to look less
| like a macro.
AnnouncePct=0
| Message to send to announce resurrects.
AnnounceMsg=Rez inc %t !
| Waits for a random amount of time from zero to this value between every corpse. In 1/10ths of a
| second. Useful to hide the fact that you cheat.
RandomDelay=0
| The spell gem to memorize rez spell in if epic isn't found.
SpellGem=8
[Weights]
| This section describes the order in which to sort corpses.
| Each corpse is tested against all these rules, scores are added together and the highest
| scoring corpses are rezzed first. Corpses scoring below zero (or minimumweight set on the
| command line) are ignored.
| It is possible to have more than one weight section and specify which one to use on the
| command line.
|
| The format is:
| name=[!]type|weight|matchstring
|
| Where:
| name - just a name, what it is is not important (needs to be unique in each section)
| ! - negation operator. Will reverse the current match.
| type - which type of match, valid ones are:
| name - match character's name
| class - match character's class
| guild - match the character's guild
| inraid - matches if the character is in your raid
| ingroup - matches if the character is in your group
| random - will match randomly to help hide the fact that you are a cheater. The matchstring
| is a percentage chance to match. 0-100.
| everyone - will be added to all corpse's scores.
| weight - the value added to the corpse's score if the rule matches
| matchstring - the search string to match (for example the name of the class or name of the character
| when doing class or name matches respectively). Leave empty for the inraid and ingroup
| types.
| class type: add 15 points to a corpse belonging to a bard or a cleric because they
| will help you rez others and give you manasong!
Class1=class|15|cleric
Class2=class|15|bard
| name type: add 10 points to your friends 'mybuddy' and 'nicejoe'
Friend1=name|10|mybuddy
Friend2=name|10|nicejoe
| ingroup type: add 5 points to people in your group
group=ingroup|5|
| inraid type: add 3 points to people in your raid
raid=inraid|3|
| guild type: add 1 point to people in your guild and subtract 1 point from everyone not in it.
guild1=guild|1|my awesome guild
guild2=!guild|-1|my awesome guild
| random type: randomly add 10 points to 20% of the corpses to make you look more human
percent=random|10|20
| negative weights. Corpses with scores that fall below 0 will be ignored. Useful mainly to "blacklist"
| people or guilds. Here we give -100 points to anyone in the guild 'guildthatsucks' and that bastard
| named 'nastyjoe'. No rez for you!
badguild=guild|-100|guildthatsucks
badguy=name|-100|nastyjoe
[Dps]
| This is an example of an additional rule section for corpse rez order.
| We will use it to only rez certain classes (useful if you're desperate for dps classes during
| a fight gone bad for example).
| everyone type: subtract 1 point from every corpse so that they will be negative. Corpses
| below 0 will be skipped.
All=everyone|-1|
| class type: add points to certain classes to bring them above the 0 threshold.
Rule1=class|10|rogue
Rule2=class|10|ranger
Rule3=class|10|necromancer
Rule4=class|10|berserker
Rule5=class|10|monk