Shaman Cannibalization / Bind Wound Macro

Macro requests from before the user variable changes that broke all macros

Moderator: MacroQuest Developers

CaM3Lt0Sis
orc pawn
orc pawn
Posts: 26
Joined: Thu Jul 03, 2003 10:33 am

Shaman Cannibalization / Bind Wound Macro

Post by CaM3Lt0Sis » Thu Jul 03, 2003 10:35 am

I was hoping to get a macro of this sort created, I've been fidgeting with macros all day trying to get one to function properly. I have come across one on this board, but the guy must have been MISTAKEN because he linked another macro into his instead of just weaving the code together AND/OR INCLUDING A LINK TO THE MENTIONED MACRO, which basically means if you dont have the same macro w/ the same filename as him to fill that empty codespace, you're screwed.

Any literate coders out there up for the challenge.

Essentially it's just telling the shaman to cannibalze until ~25% health, start binding wound until 50% or the max bind wound, then beging cannibalizing down again, back and forth until you are out of bandages.

Thankyou in advance. :)

edited it after i wasnt so frustrated, hopefully people cool down then :shock:
Last edited by CaM3Lt0Sis on Thu Jul 03, 2003 4:13 pm, edited 2 times in total.

somemage
a lesser mummy
a lesser mummy
Posts: 35
Joined: Mon May 12, 2003 7:44 pm

Post by somemage » Thu Jul 03, 2003 10:53 am

the guy must have been retarded because he linked another macro into his instead of just weaving the code together
You wrote that, and you call him retarded?

CaM3Lt0Sis
orc pawn
orc pawn
Posts: 26
Joined: Thu Jul 03, 2003 10:33 am

Post by CaM3Lt0Sis » Thu Jul 03, 2003 10:55 am

Answered my own question, but here's the stuff if any of you guys want it :)

PRIMARY MACRO
[color=red]| Name: ShamanBind.mac
| Author: YKW-28983 & Whoever made bind.mac

#turbo

#include spellcast.mac

#event NoBandages "You cannot bind wounds without bandages. Go buy some."
#event DoneBandaging "The bandaging is complete."
#event TargetFull "You cannot bandage your target past"

#define MAXBIND 50

Sub Main
/if n $char(ability,"bind wound")!=-2 {
/if n $char(ability,"bind wound")<1 {
/echo You do not have "Bind Wound" on a /doability
/return
}
}
/if "$target()"=="FALSE" {
/target myself
/delay 0
}
/if n $target(hp,pct)>=MAXBIND {
/echo $target(name) is already above MAXBIND% health.
/goto :Canni
}
:BindLoop
/varset v1 0
/doability "bind wound"
:WaitLoop
/doevents
/if n $char(ability,"bind wound")==-2 /goto :WaitLoop
/if n $v1==0 /goto :WaitLoop
/if n $v1==2 /goto :Canni
/if n $target(hp,pct)<MAXBIND /goto :BindLoop

:Canni
/if n $char(hp,pct)>25 {
/call Cast "Cannibalize IV"
/delay 3.5s
}
/if n $char(hp,pct)<25 {
/goto :BindLoop
}
/goto :Canni
/return

Sub Event_NoBandages
/endmacro
/return

Sub Event_DoneBandaging
/varset v1 1
/return

Sub Event_TargetFull
/varset v1 2
/return[/color]

SPELLCAST.MAC (which was previously left out)
[color=orange][/color]|Plazmic + 1 line change by Imperfect
|** SpellCast.mac
** This will cast a spell reliably for you...
** Usage:
** /call Cast "spellname"
** It will return the following values:
** CAST_SUCCESS
** CAST_UNKNOWNSPELL
** CAST_OUTOFMANA
** CAST_OUTOFRANGE
** CAST_CANNOTSEE
** CAST_STUNNED
** CAST_RESISTED
**|

#event Fizzle "Your spell fizzles!"
#event Interrupt "Your casting has been interrupted!"
#event Interrupt "Your spell is interrupted."
#event Recover "You haven't recovered yet..."
#event Recover "Spell recovery time not yet met."
#event Resisted "You target resisted the "
#event OutOfMana "Insufficient Mana to cast this spell!"
#event OutOfRange "Your target is out of range, get closer!"
#event NoLOS "You cannot see your target."
#event Stunned "You cannot cast while stunned"
#event Standing "You must be standing to cast a spell"
#event Collapse "Your gate is too unstable, and collapses."

#define CastStatus v59
#define CastTimer t7

#define CAST_SUCCESS 0
#define CAST_UNKNOWNSPELL 1
#define CAST_RESTART 2
#define CAST_OUTOFMANA 3
#define CAST_OUTOFRANGE 4
#define CAST_CANNOTSEE 5
#define CAST_STUNNED 6
#define CAST_RESISTED 7

Sub Cast
/if n $char(gem,"$p0")==0 /return CAST_UNKNOWNSPELL
:StartCast
/if n $char(gem,"$p0")<0 /call WaitForRefresh "$p0"
/cast "$p0"
/varset CastTimer $int($spell("$p0",casttime)*10+$spell("$p0",recoverytime)*10)
/varset CastStatus CAST_SUCCESS
:WaitCast
/doevents Fizzle
/doevents Interrupt
/doevents Recover
/doevents Standing
/doevents OutOfRange
/doevents OutOfMana
/doevents NoLOS
/doevents Resisted
/if n $CastStatus==CAST_RESTART /goto :StartCast
/if n $CastStatus>=CAST_RESTART /return $CastStatus
/if n $CastTimer>0 /goto :WaitCast
/varset CastTimer 0
/return CAST_SUCCESS

Sub WaitForRefresh
:LoopWaitForRefresh
/delay 0
/if n $char(gem,"$p0")<0 /goto :LoopWaitForRefresh
/return

Sub Event_Fizzle
/varset CastStatus CAST_RESTART
/return

Sub Event_Interrupt
/varset CastStatus CAST_RESTART
/return

Sub Event_Recover
/varset CastStatus CAST_RESTART
/delay 5
/return

Sub Event_Standing
/varset CastStatus CAST_RESTART
/stand
/return

Sub Event_Collapse
/varset CastStatus CAST_RESTART
/return

Sub Event_OutOfMana
/varset CastStatus CAST_OUTOFMANA
/return

Sub Event_OutOfRange
/varset CastStatus CAST_OUTOFRANGE
/return

Sub Event_NoLOS
/varset CastStatus CAST_CANNOTSEE
/return

Sub Event_Stunned
/varset CastStatus CAST_STUNNED
/return

Sub Event_Resisted
/varset CastStatus CAST_RESISTED
/return

CaM3Lt0Sis
orc pawn
orc pawn
Posts: 26
Joined: Thu Jul 03, 2003 10:33 am

Post by CaM3Lt0Sis » Thu Jul 03, 2003 11:16 am

and yes i did "somemage", because he didnt anywhere mention WHERE you could get the other macro.

eat a turd. :shock:

wassup
Official Guardian and Writer of TFM
Official Guardian and Writer of TFM
Posts: 1487
Joined: Sat Oct 26, 2002 5:15 pm

Post by wassup » Thu Jul 03, 2003 11:59 am

I was hoping to get a macro of this sort created, I've been fidgeting with macros all day trying to get one to function properly. I have come across one on this board, but the guy must have been retarded because he linked another macro into his instead of just weaving the code together, which basically means if you dont have the same macro w/ the same filename as him to fill that empty codespace, you're screwed.

Why is using include retarded?

include makes it possible to create global macro files that can be used by any macro. Kind of like the other forms of include used in many other programming languages.

What I don't understand is why you flat out insult the author of that particular macro, and then ask for help to fix something that is far from being broken.

User avatar
BlueSkies
a ghoul
a ghoul
Posts: 132
Joined: Tue Oct 01, 2002 6:22 pm

Post by BlueSkies » Thu Jul 03, 2003 12:56 pm

Wow...

Talk about a complete lack of appreciation.

I bet he thinks MacroQuest sucks. :P
Live your dreams! Blue Skies everyone

AlphaBeta
a ghoul
a ghoul
Posts: 126
Joined: Sat Nov 09, 2002 12:35 am

Post by AlphaBeta » Thu Jul 03, 2003 2:09 pm

I think what he is talking about is that he found a macro that used another macro as an include but failed to include the included macro :P

CaM3Lt0Sis
orc pawn
orc pawn
Posts: 26
Joined: Thu Jul 03, 2003 10:33 am

Post by CaM3Lt0Sis » Thu Jul 03, 2003 2:44 pm

u nailed it on the head :P that's all that bothered me, not necessarily the use of include but the fact he didn't mention wtf the file was

User avatar
BlueSkies
a ghoul
a ghoul
Posts: 132
Joined: Tue Oct 01, 2002 6:22 pm

Post by BlueSkies » Thu Jul 03, 2003 2:45 pm

That doesn't mean the guy needs to be called "retarded"...

I'm willing to bet the included file is around these boards somewhere, and if not, it could have easilly been obtained by PMing the author and asking for it politely...

You catch more flies with honey, or so they say. But that's not the point.

A certain amount of respect needs to be paid to those who supply code / scripts by those who make use of them. Otherwise, "what's in it for me?" becomes the question who's answer (ie, "absolutely nothing") turns many coders off from distributing their additions. "It works for me, why should I release it to a bunch of assholes?"

Think about it. We're not paid any money, we don't get anything in return, except the pride of having acknowledged a need, and the respect given in return for fulfilling that need. And then some prick comes along and starts insulting us. Yeah. That's gonna make me wanna help the community.

Mutual respect is what drives this project. People like CaM3Lt0Sis undermine that driving force.
Live your dreams! Blue Skies everyone

CaM3Lt0Sis
orc pawn
orc pawn
Posts: 26
Joined: Thu Jul 03, 2003 10:33 am

Post by CaM3Lt0Sis » Thu Jul 03, 2003 2:54 pm

i was frustrated so i said something i generally in any other situation wouldn't have said.

geez of course u know you've NEVER done that right?

lay off i made a mistake :P

u get frustrated when things aren't working properly, and yes i found the file on the boards, and had to move some stuff around in his macro, but afterwards it functioned fine, so i give him props for that

keep in mind i made the post about 5 mins after realizing it wasn't gonna work the way i was trying to do it

like i said sorry, was a mistake, nothing to get so in flames about

User avatar
BlueSkies
a ghoul
a ghoul
Posts: 132
Joined: Tue Oct 01, 2002 6:22 pm

Post by BlueSkies » Thu Jul 03, 2003 3:52 pm

Hm.

Perhaps I was a drop hasty with my post.

Just trying to understand how, in his first 3 posts on a new message board, a person can call an established contributer "retarded," then go on to further degrade his own fledgling reputation by telling another member to "eat a turd."

Doesn't seem like a person who's truly interested in contributing to the project. That's my opinion, of course.

/boggle
Live your dreams! Blue Skies everyone

CaM3Lt0Sis
orc pawn
orc pawn
Posts: 26
Joined: Thu Jul 03, 2003 10:33 am

Post by CaM3Lt0Sis » Thu Jul 03, 2003 4:10 pm

Actually I'm quite interested in contributing, however, I respond to flames WITH flames, and I was simply being polite by saying "eat a turd" rather than "fuck off."

On the subject of calling the guy a retard, I was just honestly frustrated, it happens :p

YKW-28983
a hill giant
a hill giant
Posts: 252
Joined: Sun Dec 01, 2002 11:37 pm

Post by YKW-28983 » Fri Jul 04, 2003 6:21 pm

If you don't like the pre-written code. Don't complain and make your own.

You call me retarded when the #include was a common macro file that was released in previous releases back when MQ wasn't so noob filled...

And gee imagine what search can do?

http://macroquest2.com/phpBB2/viewtopic ... llcast+mac

If the bind.mac threw you off, it was simply Kudos to the guy who made bind.mac you didn't need bind.mac as I put it's code into mine.
Last edited by YKW-28983 on Fri Jul 04, 2003 10:35 pm, edited 1 time in total.

CaM3Lt0Sis
orc pawn
orc pawn
Posts: 26
Joined: Thu Jul 03, 2003 10:33 am

Post by CaM3Lt0Sis » Fri Jul 04, 2003 10:05 pm

no actually it wasn't bind.mac as that obviously was coded into their, if you would re-read everything that's already been discussed in this post you would understand the situation and wouldn't have had any need to post.

YKW-28983
a hill giant
a hill giant
Posts: 252
Joined: Sun Dec 01, 2002 11:37 pm

Post by YKW-28983 » Fri Jul 04, 2003 10:28 pm

I understand that I was called retarded because you didn't know how to use the search feature everyone talks about in this foroms.
Last edited by YKW-28983 on Fri Jul 04, 2003 10:35 pm, edited 1 time in total.