This repository has been archived on 2020-06-16. You can view files and clone it, but cannot push or open issues or pull requests.
wow-vanilla-addon-random-mount/Random_Mount.lua

221 lines
6.7 KiB
Lua

Random_Mount_Mounted = FALSE;
Random_Mount_Bag = 0;
Random_Mount_Slot = 0;
function Random_Mount_Use(type)
-- BEGIN
BreakIt = 0;
stop_it = 0;
Num_rnd = 0;
-- hour, minute = GetGameTime();
-- math.randomseed(GetTime());
-- Rare
ID_rare = {
-- Alliance
[0] = "item:5864:"; -- Gray Ram
[1] = "item:5872:"; -- Brown Ram
[2] = "item:5873:"; -- White Ram
[3] = "item:8632:"; -- Reins of Spotted Frostsaber
[4] = "item:8631:"; -- Reins of Striped Frostsaber
[5] = "item:8629:"; -- Reins of Striped Nightsaber
[6] = "item:5656:"; -- Braunes Pferd
[7] = "item:5655:"; -- Kastanienbraune Stute
[8] = "item:2414:"; -- Schecke
[9] = "item:2411:"; -- Rappenzaumzeug
[10] = "item:8595:"; -- Blauer Roboschreiter
[11] = "item:13321:"; -- Grüner "
[12] = "item:8563:"; -- Roter "
[13] = "item:13322:"; -- Unlackierter "
-- Horde
[14] = "item:13332:"; -- Blaues Skelettpferd
[15] = "item:13333:"; -- Braunes "
[16] = "item:13331:"; -- Rotes "
[17] = "item:15290:"; -- Brauner Kodo
[18] = "item:15277:"; -- Grauer "
[19] = "item:8588:"; -- Pfeife des smaragdfarbenen Raptors
[20] = "item:8591:"; -- " türkisfarbenen "
[21] = "item:8592:"; -- " violetten "
[22] = "item:5668:"; -- Horn des braunen Wolfs
[23] = "item:5665:"; -- " Terrorwolfs
[24] = "item:1132:"; -- " Waldwolfs
-- EMPTY!
[25] = "item:EMPTY:";
[26] = "item:EMPTY:";
[27] = "item:EMPTY:";
[28] = "item:EMPTY:";
[29] = "item:EMPTY:";
[30] = "item:EMPTY:";
[31] = "item:EMPTY:";
[32] = "item:EMPTY:";
[33] = "item:EMPTY:";
[34] = "item:EMPTY:";
[35] = "item:EMPTY:";
[36] = "item:EMPTY:";
[37] = "item:EMPTY:";
[38] = "item:EMPTY:";
[39] = "item:EMPTY:";
[40] = "item:EMPTY:";
[41] = "item:EMPTY:";
[42] = "item:EMPTY:";
[43] = "item:EMPTY:";
[44] = "item:EMPTY:";
[45] = "item:EMPTY:";
[46] = "item:EMPTY:";
[47] = "item:EMPTY:";
[48] = "item:EMPTY:";
[49] = "item:EMPTY:";
[50] = "item:EMPTY:";
[51] = "item:EMPTY:";
[52] = "item:EMPTY:";
[53] = "item:EMPTY:";
[54] = "item:EMPTY:";
[55] = "item:EMPTY:";
};
-- Epic
ID_epic = {
-- Alliance
[0] = "item:18787:"; -- Swift Gray Ram
[1] = "item:18786:"; -- Swift Brown Ram
[2] = "item:18785:"; -- Swift White Ram
[3] = "item:13329:"; -- Frost Ram
[5] = "item:13328:"; -- Black Ram
[6] = "item:12302:"; -- Reins of the Frostsaber
[7] = "item:12303:"; -- Reins of the Nightsaber
[8] = "item:18766:"; -- Reins of the Swift Frostsaber
[9] = "item:18902:"; -- Reins of the Swift Stormsaber
[10] = "item:18242:"; -- Reins of the Black War Tiger
[11] = "item:13086:"; -- Reins of the Winterspring Frostsaber
[12] = "item:13327:"; -- Eisblauer Roboschreiter
[13] = "item:18774:"; -- Schneller gelber "
[14] = "item:18772:"; -- Schneller grüner "
[15] = "item:18773:"; -- Schnelles weißer "
[16] = "item:13326:"; -- Weißer "
[17] = "item:12354:"; -- Palominozaumzeug
[18] = "item:12353:"; -- Schimmelzaumzeug
[19] = "item:18777:"; -- Schneller Brauner
[20] = "item:18776:"; -- Schnelles Palomino
[21] = "item:18778:"; -- Schnelles weißes Ross
[22] = "item:18244:"; -- Schwarzer Kriegswidder
[23] = "item:18243:"; -- Schwarzer Schlachtenschreiter
[24] = "item:18241:"; -- Schwarzes Schlachtrosszaumzeug
[25] = "item:18242:"; -- Zügel des schwarzen Kriegstigers
-- Horde
[26] = "item:13334:"; -- Grünes Skelettschlachtross
[27] = "item:18791:"; -- Pruprunes "
[28] = "item:15293:"; -- Graublauer Kodo
[29] = "item:18794:"; -- Großer brauner "
[30] = "item:18795:"; -- " grauer "
[31] = "item:18793:"; -- " weißer "
[32] = "item:15292:"; -- Grüner "
[33] = "item:13317:"; -- Pfeife des elfenbeinfarbenen Raptors
[34] = "item:8586:"; -- " scheckigen roten "
[35] = "item:18788:"; -- Schneller blauer "
[36] = "item:18789:"; -- Schneller olivfarbener "
[37] = "item:18790:"; -- Schneller orangerener "
[38] = "item:12351:"; -- Horn des arktischen Wolfs
[39] = "item:12330:"; -- Horn des roten Wolfs
[40] = "item:18796:"; -- Horn des schnellen braunen Wolfs
[41] = "item:18798:"; -- " Grauwolfs
[42] = "item:18797:"; -- " Waldwolfs
[43] = "item:18245:"; -- Horn des schwarzen Kriegswolfs
[44] = "item:18246:"; -- Pfeife des schwarzen Kriegsraptors
[45] = "item:18248:"; -- Rotes Skelettschlachtross
[46] = "item:18247:"; -- Schwarzer Kriegskodo
-- Stuff ;)
[47] = "item:13335:"; -- Deathcharger's Reins
[48] = "item:19902:"; -- Schneller zulianischer Tiger
[49] = "item:19872:"; -- Schneller Razzashiraptor
[50] = "item:21218:"; -- Blauer Qirajiresonanzkristall
[51] = "item:21324:"; -- Gelber "
[52] = "item:21323:"; -- Grüner "
[53] = "item:21321:"; -- Roter "
[54] = "item:19030:"; -- Streitwidder der Stormpike
[55] = "item:19029:"; -- Horn des Frostwolfheulers
};
if (Random_Mount_Mounted == FALSE) then
while ((stop_it < 250) and (BreakIt ~= 1)) do -- search max. 250 rnd numbers for a mount (great chance to hit one ;) )
stop_it = stop_it + 1;
Num_rnd = math.random(0, 55); -- 0, Max. Mount Number
-- Protection against wrong Item IDs ----- hmm official lua manual wrong? ;)
if ((ID_rare[Num_rnd] == "") or (ID_rare[Num_rnd] == NIL)) then
ID_rare[Num_rnd] ="item:EMPTY:";
end;
if ((ID_epic[Num_rnd] == "") or (ID_epic[Num_rnd] == NIL)) then
ID_epic[Num_rnd] ="item:EMPTY:";
end;
for bag=0,4 do
if (BreakIt == 1) then
break;
end;
for slot=1,GetContainerNumSlots(bag) do
if (BreakIt == 1) then
break;
end;
if GetContainerItemLink(bag,slot) then
if (type == "rare") then
if ((string.find(GetContainerItemLink(bag, slot), ID_rare[Num_rnd])) and (GetContainerItemCooldown(bag, slot) == 0)) then
UseContainerItem(bag, slot);
BreakIt = 1;
Random_Mount_Bag = bag;
Random_Mount_Slot = slot;
Random_Mount_Mounted = TRUE;
end;
end;
if (type == "epic") then
if ((string.find(GetContainerItemLink(bag, slot), ID_epic[Num_rnd])) and (GetContainerItemCooldown(bag, slot) == 0)) then
UseContainerItem(bag, slot);
BreakIt = 1;
Random_Mount_Bag = bag;
Random_Mount_Slot = slot;
Random_Mount_Mounted = TRUE;
end;
end;
end;
end;
end;
end;
else
UseContainerItem(Random_Mount_Bag, Random_Mount_Slot);
Random_Mount_Bag = 0;
Random_Mount_Slot = 0;
Random_Mount_Mounted = FALSE;
end;
-- END
end;