Originally Posted by Vyndree',index.php?page=Thread&postID=181927#post1 81927]
[quote]I'll admit I'm a little frustrated, but I wouldn't say I'm mad. While I could have phrased my reply better, I do not like how a single line quote is used to extrapolate the meaning of my post, especially since it doesn't represent my intent.[/quote]Don't take my stance as an attack -- far from it. I'm simply attempting to clarify certain logical inconsistencies.
The argument that Blizzard protects its own API calls that it doesn't want users fussing with in-combat is a legitimate one, but not totalitarian. The only issue I am making is that, while Blizzard can PREVENT you from doing SOME things they don't want you to do, that's not to say that everything you CAN do is ACCEPTABLE.
Call me a nut, but I took two symbolic logic courses in college just because I liked it so much. So I wanted to make the distinction that PreventedAPI therefore NotOK is not equivalent to NotPreventedAPI therefore OK.
Basically... P --> !O does not mean !P --> O.
If Blizzard didn't want things done, I would assume they would TRY to make it difficult, if not impossible, to do so. However, creative uses of various API doesn't always make those uses kosher the first time around, therefore (since Blizz uses a patching system), they will attempt to keep the API's as robust as possible given restraints on time, cost, and difficulty. That means, there COULD (but may not always) exist a known or unknown rulebreaking action that can be done using the game's API -- doesn't mean there IS, or there WAS, or there IS GOING TO BE -- but there COULD. Therefore, totalitarian statements about what Blizzard "wants" based on the existing API are erroneous, or, at the very least, ambiguously misleading since Blizzards wants and the state of the API are dynamic based on the patching system and the history of the API system (which continues to change each patch).
In short: The rules make the API (as best they can), but the API doesn't make the rules.
Anyway, like I said -- I'm not trying to criticise anyone in particular or offend anyone, I'm simply taking a rather misleading series of statements that seems to re-appear quite often as a "general rule" accepted by the community, and add a dash of devil's advocate and constructive logic.
I'm certain a nontrivial amount of effort is required to make the APIs the way they are, and I don't think Blizzard's been careless on their part. I simply think that using the API to determine what the rules are is a bit circular and potentially dangerous.[/quote]I didn't take it as an attack, like I said I was just frustrated. Often times what one thinks, what one intends to type, what is typed and what you mean end up distinct. In looking back on my post it ended up different than I had intended. Your quote seemed to grab at the flaw in my explanation and combined with the other quotes and statements that really weren't in reference to my post just was a little to much for me. I tend to take things a little too personal, so I'm sure a lot of the angst was supplied on my end.
While I don't believe one can determine Blizzard's stance or intent from the APIs, in the case of /follow, I do think one can make an inference. This inference isn't guaranteed to be correct; caveat emptor. The part I didn't communicate was that I've used the API in question, and given the way the API is written, I made an inferrence. Since chances are people won't look at links, I'll quote the section here:[quote]Movement Functions
Use with caution - movement started by a script must be stopped by script. Keys/Mouse will not stop movement. These functions [url='http://forums.worldofwarcraft.com/thread.aspx?FN=wow-interface-customization&T=169829&P=1
no longer work[/url] (fail silently) in patch 1.6 if NOT triggered from a hardware event (just like spell casts). As of patch 1.10 many of these functions were protected for use of only Blizzard signed code
PROTECTED
CameraOrSelectOrMoveStart() - Begin "Left click" in the 3D world. (1.10 - Protected)
PROTECTED
CameraOrSelectOrMoveStop([stickyFlag]) - End "Left click" in the 3D world. (1.10 - Protected)
FollowUnit("unit") - Follow an ally with the specified UnitID
PROTECTED
JumpOrAscendStart() - Makes the player jump.
PROTECTED
AscendStop() - Called when you release the jump key.
PROTECTED
MoveBackwardStart - The player begins moving backward at the specified time.
PROTECTED
MoveBackwardStop - The player stops moving backward at the specified time.
PROTECTED
MoveForwardStart - The player begins moving forward at the specified time.
PROTECTED
MoveForwardStop - The player stops moving forward at the specified time.
PROTECTED
StrafeLeftStart - The player begins strafing left at the specified time.
PROTECTED
StrafeLeftStop - The player stops strafing left at the specified time.
PROTECTED
StrafeRightStart - The player begins strafing right at the specified time.
PROTECTED
StrafeRightStop - The player stops strafing right at the specified time.
PROTECTED
ToggleAutoRun - Turns auto-run on or off
ToggleMouseMove()
PROTECTED
ToggleRun - Toggle between running and walking.
PROTECTED
TurnLeftStart - The player starts turning left at the specified time.
PROTECTED
TurnLeftStop - The player stops turning left at the specified time.
PROTECTED
TurnOrActionStart() - Begin "Right Click" in the 3D world. (1.10 - Protected)
PROTECTED
TurnOrActionStop() - End "Right Click" in the 3D world. (1.10 - Protected)
PROTECTED
TurnRightStart - The player starts turning right at the specified time.
PROTECTED
TurnRightStop - The player stops turning right at the specified time.