Heavenguard
2010-08-26 14:40:16
//-----------------------------------------------------------------//
//-- Scar Standard Resource Library --//
//-- Mining routines --//
//-----------------------------------------------------------------//
// * function FindPickHeadColor: Boolean; // by Sky Scripter
// * function FindPick: Boolean; // by Stupid3ooo and WT-Fakawi
// * function CheckOre(OreX, OreY, RefColor, Tol: Integer): Integer; // by Wizzup? and n3ss3s
// * function OreColorCount(OreX, OreY, RefColor, tol, MinCount: LongInt): Boolean; // by Wizzup
// * function FindAllRocksRecord(var RockObjs: TPointArray; RockIndex: Integer; QuickSorting, RGBXYZCheck: Boolean): Boolean; // by Sumilion
// * function FindObjRockEx(var cx, cy: Integer; RockIndex: Integer; QuickSorting, RGBXYZCheck: Boolean): Boolean; // by Sumilion
// * function FindObjRock(var cx, cy: Integer; RockIndex: Integer): Boolean; // by Sumilion
// * procedure procedure LoadRockRecords; // by Sumilion
// * procedure LoadMiningBitMaps; // by Stupid3ooo
// * procedure SetupMining; // by WT-Fakawi
var
PickAxeHandle, BrokenPick, PickAxeHead, Ore, PickAxe: Integer; // Random Handlers.
hc1, hc2, hc3, hc4, hc5: Integer; // Pickaxe colors.
NoPick, Wielding, EquipPick: Boolean; // Random Handler & Wielding.
arRockRecords: array of TAutoColorInfo;
const
rimmington_Clay = 0;
rimmington_Copper = 1;
rimmington_Tin = 2;
rimmington_Iron = 3;
rimmington_Gold = 4;
old_Clay = 5;
old_Copper = 6;
old_Tin = 7;
old_Iron = 8;
old_Coal = 9;
old_Mithril = 10;
old_Adamant = 11;
varrock_Clay = rimmington_Clay;
varrock_Copper = 12;
varrock_Tin = rimmington_Tin;
varrock_Iron = rimmington_Iron;
varrock_Silver = 13;
lumbridge_Copper = varrock_Copper;
lumbridge_Tin = rimmington_Tin;
lumbridge_Coal = 14;
lumbridge_Mithril = 15;
lumbridge_Adamant = 16;
falador_Clay = 17;
falador_Copper = varrock_Copper;
falador_Tin = rimmington_Tin;
falador_Iron = rimmington_Iron;
falador_Coal = 18;
falador_Mithril = lumbridge_Mithril;
falador_Adamant = lumbridge_Adamant;
alkharid_Copper = 19;
alkharid_Iron = 20;
alkharid_Silver = 21;
alkharid_Coal = 22;
alkharid_Gold = 23;
alkharid_Mithril = 24;
alkharid_Adamant = 25;
{*******************************************************************************
function FindPickHeadColor: Boolean;
By: WT-Fakawi fixed by NaumanAkhlaQ
Description: Finds PickHead colors. Returns hc1, 2, 3, 4 & 5 for PickHead
finding of False when No Pick is in either GameTab(tab_Inv) or GameTab(5).
Sets Global variable NoPick.
*******************************************************************************}
function FindPickHeadColor: Boolean;
var
Pick, ix, iy: Integer;
curTab: Byte;
begin
Result := False;
if (not LoggedIn) then exit;
Pick := DTMFromString('78DA63FCC2C4C0F09C910115302291409A899' +
'981E1310135FF8830870368CE4B026A78816A5EE3570300F6B206' +
'B0');
NoPick := True;
curTab := GetCurrentTab;
GameTab(tab_Inv);
if (FindDTM(Pick, ix, iy, MIX1, MIY1, MIX2, MIY2)) then
begin
NoPick := False;
Wielding := False;
EquipPick := False;
end else
begin
GameTab(tab_Equip);
if (FindDTM(Pick, ix, iy, MIX1, MIY1, MIX2, MIY2)) then
begin
NoPick := False;
Wielding := True;
EquipPick := False;
end;
end;
if (not NoPick) then
begin
Wait(100 + Random(100));
MMouse(ix, iy, 0, 0);
Hc1 := GetColor(ix + 1, iy);
Hc2 := GetColor(ix + 2, iy - 1);
Hc3 := GetColor(ix + 6, iy - 1);
Hc4 := GetColor(ix + 12, iy + 1);
Hc5 := GetColor(ix + 16, iy);
srl_Warn('FindPickHeadColor', 'PickColors = [' + IntToStr(hc1) + ', ' + IntToStr(hc2) + ', '
+ IntToStr(hc3) + ', ' + IntToStr(hc4) + ', ' + IntToStr(hc5)+'];', warn_Debug);
Result := True;
end;
FreeDTM(Pick);
GameTab(curTab);
end;
{*******************************************************************************
function FindPick: Boolean;
By: WT-Fakawi
Description: Finds and Attaches Pickhead.
*******************************************************************************}
function FindPick: Boolean;
var
c, XH, YH, dx, dy, ex, ey, x, y, cts: Integer;
EC: TBox;
begin // checks for Blue ClickToContinue, but doesnt handle ClickToContinue.
result := true;
if FindColor(x, y, 16711680, 182, 439, 346, 457) then
begin
if FindNPCChatText('Pickaxe', Nothing) then // check for word PickAxe
begin
if InvFull then // First make some space for PickAxeHead
begin
if (FindBitmapSpiralTolerance(Ore, x, y, MIx1, MIy1, MIx2, MIy2, 50)) then
begin
Mouse(x, y, 5, 5, False);
ChooseOption('Drop');
end;
end;
case Wielding of // switch to appropriate GameTab;
True:
begin
GameTab(tab_Equip);
EC.x1 := 570; EC.y1 := 287; EC.x2 := 603; EC.y2 := 320;
end;
False:
begin
GameTab(tab_Inv);
EC.x1 := MIx1; EC.y1 := MIy1; EC.x2 := MIx2; EC.y2 := MIy2;
end
end;
if FindBitmapMaskTolerance(BrokenPick, dx, dy, EC.x1, EC.y1, EC.x2, EC.y2, 10, 10) then
begin // Broken Pickaxe Handler
NoPick := True;
case Random(5) of
0: TypeSend('arg');
1: TypeSend('aarg');
2: TypeSend('arghh');
3: TypeSend('dam');
4: TypeSend('sjee.');
end;
Result := False;
Exit;
end;
if FindBitmapMaskTolerance(PickAxeHandle, dx, dy, EC.x1, EC.y1, EC.x2, EC.y2, 10, 10) then
begin // PickHead & Handle Handler
GameTab(tab_Inv);
repeat
if not (LoggedIn) then Exit;
x := Random(510) + 5;
y := Random(330) + 5;
cts := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
if (FindColorSpiralTolerance(x, y, hc1, MSx1, MSy1, MSx2, MSy2, 10)) or
(FindColorSpiralTolerance(x, y, hc2, MSx1, MSy1, MSx2, MSy2, 10)) or
(FindColorSpiralTolerance(x, y, hc3, MSx1, MSy1, MSx2, MSy2, 10)) or
(FindColorSpiralTolerance(x, y, hc4, MSx1, MSy1, MSx2, MSy2, 10)) or
(FindColorSpiralTolerance(x, y, hc5, MSx1, MSy1, MSx2, MSy2, 10)) then
begin
MMouse(x, y, 2, 2);
if IsUpTextMultiCustom(['Take', 'pick', 'head']) then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, True);
end;
FFlag(0);
Wait(1000 + Random(100));
end;
c := c + 1;
until ((FindBitmapMaskTolerance(PickAxeHead, x, y, MIx1, MIy1, MIx2, MIy2, 10, 10))
or (c >= 10));
ColorToleranceSpeed(cts);
if not FindBitmapMaskTolerance(PickAxeHead, x, y, MIx1, MIy1, MIx2, MIy2, 10, 10) then
begin
NoPick := True;
Result := False;
Exit;
end;
end;
// Attach
if Wielding then
begin
GameTab(tab_Equip);
if FindBitmapMaskTolerance(PickAxeHandle, Xh, Yh, 560, 280, 615, 322, 10, 10) then
begin
WriteLn('Found Handle');
Mouse(Xh + 5, Yh + 11, 2, 2, True); // remove the handle, if any.
end;
end;
Wait(500);
GameTab(tab_Inv);
Wait(500);
if FindBitmapMaskTolerance(PickAxeHead, dx, dy, MIx1, MIy1, MIx2, MIy2, 10, 10)
and FindBitmapMaskTolerance(PickAxeHandle, ex, ey, MIx1, MIy1, MIx2, MIy2, 10, 10) then
begin
Mouse(dx, dy, 0, 0, True);
Wait(1000 + Random(100));
Mouse(ex + 5, ey + 11, 2, 2, True);
// PickAxeAttached := PickAxeAttached + 1;
WriteLn('Attached Head & Handle');
NoPick := False;
Result := True;
if Wielding then
begin
Wait(3000);
if FindColor(dx, dy, hc1, MIx1, MIy1, MIx2, MIy2) then
Mouse(dx, dy, 0, 0, True);
end;
end;
end;
end;
end;
{*******************************************************************************
Function CheckOre(OreX, OreY, RefColor, Tol: Integer): Integer;
By: Wizzup? and n3ss3s
Description: Checks the certain ore. Returns how many colors match.
*******************************************************************************}
function CheckOre(OreX, OreY, RefColor, Tol: Integer): Integer;
var
I: Integer;
begin
OreX := Max(OreX - 3, 0);
OreY := Max(OreY - 3, 0);
for I := 0 to 35 do
if SimilarColors(GetColor(OreX + (I mod 6), OreY + (I div 6)), RefColor, Tol) then
Inc(Result);
end;
{*******************************************************************************
function OreColorCount(OreX, OreY, RefColor, Tol, MinCount: LongInt): Boolean;
By: Wizzup?
Description: Checks the certain ore, uses CheckOre.
If Count >= MinCount, the result is true.
*******************************************************************************}
function OreColorCount(OreX, OreY, RefColor, tol, MinCount: LongInt): Boolean;
begin
Result := CheckOre(OreX, OreY, RefColor, tol) >= MinCount;
end;
{*******************************************************************************
function FindAllRocksRecord(var RockObjs: TPointArray; RockIndex: Integer; QuickSorting, RGBXYZCheck: Boolean): Boolean;
By: Sumilion
Description: Finds the rocks using SRL's Rock Records and returns the found objects in a TPA
*******************************************************************************}
function FindAllRocksRecord(var RockObjs: TPointArray; RockIndex: Integer; QuickSorting, RGBXYZCheck: Boolean): Boolean;
begin
try
Result := FindAllObjsRecord(RockObjs, arRockRecords[RockIndex], MSX1, MSY1, MSX2, MSY2, QuickSorting, RGBXYZCheck);
except
Writeln('RockIndex ''' + IntToStr(RockIndex) + ''' does not exist.');
end;
end;
{*******************************************************************************
function FindObjRockEx(var cx, cy: Integer; RockIndex: Integer; QuickSorting, RGBXYZCheck: Boolean): Boolean;
By: Sumilion
Description: Finds the rocks using SRL's Rock Records
*******************************************************************************}
function FindObjRockEx(var cx, cy: Integer; RockIndex: Integer; QuickSorting, RGBXYZCheck: Boolean): Boolean;
begin
try
Result := FindObjRecordEx(cx, cy, arRockRecords[RockIndex], MSX1, MSY1, MSX2, MSY2, QuickSorting, RGBXYZCheck);
except
Writeln('RockIndex ''' + IntToStr(RockIndex) + ''' does not exist.');
end;
end;
{*******************************************************************************
function FindObjRock(var cx, cy: Integer; RockIndex: Integer): Boolean;
By: Sumilion
Description: Finds the rocks using SRL's Rock Records
*******************************************************************************}
function FindObjRock(var cx, cy: Integer; RockIndex: Integer): Boolean;
begin
Result := FindObjRockEx(cx, cy, RockIndex, False, True);
end;
{*******************************************************************************
procedure LoadRockRecords;
By: Sumilion
Description: Loads the records for FindObjRock
*******************************************************************************}
procedure LoadRockRecords;
begin
SetLength(arRockRecords, 26);
with arRockRecords[rimmington_Clay] do
begin
Name := 'Clay';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 5017780;
HueMod := 0.02;
SatMod := 0.75;
LumTol := 19;
MinR := 101; MaxR := 215;
MinG := 86; MaxG := 187;
MinB := 58; MaxB := 138;
MinX := 9.66; MaxX := 49.83;
MinY := 9.94; MaxY := 51.24;
MinZ := 5.53; MaxZ := 30.94;
end;
with arRockRecords[rimmington_Copper] do
begin
Name := 'Copper';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 4225488;
HueMod := 0.02;
SatMod := 0.84;
LumTol := 18;
MinR := 133; MaxR := 237;
MinG := 82; MaxG := 169;
MinB := 47; MaxB := 127;
MinX := 13.44; MaxX := 52.38;
MinY := 11.45; MaxY := 47.37;
MinZ := 4.28; MaxZ := 26.13;
end;
with arRockRecords[rimmington_Tin] do
begin
Name := 'Tin';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 8027016;
HueMod := 0.07;
SatMod := 0.12;
LumTol := 18;
MinR := 87; MaxR := 181;
MinG := 81; MaxG := 169;
MinB := 80; MaxB := 169;
MinX := 8.51; MaxX := 39.91;
MinY := 8.68; MaxY := 40.56;
MinZ := 8.99; MaxZ := 42.78;
end;
with arRockRecords[rimmington_Iron] do
begin
Name := 'Iron';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 2371405;
HueMod := 0.07;
SatMod := 0.17;
LumTol := 8;
MinR := 51; MaxR := 103;
MinG := 31; MaxG := 64;
MinB := 23; MaxB := 48;
MinX := 2.08; MaxX := 7.79;
MinY := 1.81; MaxY := 6.61;
MinZ := 1.09; MaxZ := 3.57;
end;
with arRockRecords[rimmington_Gold] do
begin
Name := 'Gold';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 1093081;
HueMod := 0.02;
SatMod := 0.61;
LumTol := 17;
MinR := 129; MaxR := 252;
MinG := 105; MaxG := 210;
MinB := 16; MaxB := 68;
MinX := 14.44; MaxX := 63.62;
MinY := 15.08; MaxY := 66.54;
MinZ := 2.66; MaxZ := 14.82;
end;
with arRockRecords[old_Clay] do
begin
Name := 'Clay';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 4356501;
HueMod := 0.02;
SatMod := 0.26;
LumTol := 11;
MinR := 109; MaxR := 185;
MinG := 89; MaxG := 152;
MinB := 50; MaxB := 86;
MinX := 10.46; MaxX := 32.92;
MinY := 10.63; MaxY := 33.44;
MinZ := 4.52; MaxZ := 13.52;
end;
with arRockRecords[old_Copper] do
begin
Name := 'Copper';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 3692666;
HueMod := 0.03;
SatMod := 0.05;
LumTol := 10;
MinR := 89; MaxR := 155;
MinG := 64; MaxG := 112;
MinB := 40; MaxB := 72;
MinX := 6.49; MaxX := 20.17;
MinY := 6.09; MaxY := 18.72;
MinZ := 2.91; MaxZ := 8.53;
end;
with arRockRecords[old_Tin] do
begin
Name := 'Tin';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 6645102;
HueMod := 0.11;
SatMod := 0.05;
LumTol := 16;
MinR := 67; MaxR := 152;
MinG := 62; MaxG := 141;
MinB := 62; MaxB := 141;
MinX := 5.04; MaxX := 26.89;
MinY := 5.12; MaxY := 27.25;
MinZ := 5.41; MaxZ := 28.66;
end;
with arRockRecords[old_Iron] do
begin
Name := 'Iron';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 1844798;
HueMod := 0.06;
SatMod := 0.18;
LumTol := 11;
MinR := 27; MaxR := 96;
MinG := 17; MaxG := 59;
MinB := 12; MaxB := 45;
MinX := 0.72; MaxX := 6.86;
MinY := 0.66; MaxY := 5.80;
MinZ := 0.44; MaxZ := 3.24;
end;
with arRockRecords[old_Coal] do
begin
Name := 'Coal';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 1977645;
HueMod := 0.13;
SatMod := 0.14;
LumTol := 8;
MinR := 22; MaxR := 68;
MinG := 22; MaxG := 67;
MinB := 14; MaxB := 46;
MinX := 0.73; MaxX := 4.76;
MinY := 0.81; MaxY := 5.30;
MinZ := 0.55; MaxZ := 3.27;
end;
with arRockRecords[old_Mithril] do
begin
Name := 'Mithril';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 5256758;
HueMod := 0.04;
SatMod := 0.06;
LumTol := 19;
MinR := 16; MaxR := 92;
MinG := 16; MaxG := 92;
MinB := 24; MaxB := 135;
MinX := 0.56; MaxX := 12.61;
MinY := 0.55; MaxY := 11.68;
MinZ := 0.94; MaxZ := 24.50;
end;
with arRockRecords[old_Adamant] do
begin
Name := 'Adamant';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 4609861;
HueMod := 0.08;
SatMod := 0.05;
LumTol := 12;
MinR := 43; MaxR := 95;
MinG := 55; MaxG := 120;
MinB := 43; MaxB := 96;
MinX := 2.89; MaxX := 13.30;
MinY := 3.53; MaxY := 16.42;
MinZ := 2.89; MaxZ := 13.31;
end;
with arRockRecords[varrock_Copper] do
begin
Name := 'Copper';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 3890303;
HueMod := 0.03;
SatMod := 0.10;
LumTol := 11;
MinR := 88; MaxR := 165;
MinG := 64; MaxG := 120;
MinB := 41; MaxB := 78;
MinX := 6.41; MaxX := 23.27;
MinY := 6.05; MaxY := 21.64;
MinZ := 3.00; MaxZ := 9.99;
end;
with arRockRecords[varrock_Silver] do
begin
Name := 'Silver';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 7442074;
HueMod := 0.03;
SatMod := 0.26;
LumTol := 21;
MinR := 90; MaxR := 201;
MinG := 84; MaxG := 192;
MinB := 71; MaxB := 172;
MinX := 8.71; MaxX := 49.82;
MinY := 9.17; MaxY := 52.50;
MinZ := 7.42; MaxZ := 46.04;
end;
with arRockRecords[lumbridge_Coal] do
begin
Name := 'Coal';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 2372661;
HueMod := 0.15;
SatMod := 0.09;
LumTol := 7;
MinR := 31; MaxR := 74;
MinG := 31; MaxG := 74;
MinB := 21; MaxB := 51;
MinX := 1.24; MaxX := 5.73;
MinY := 1.38; MaxY := 6.43;
MinZ := 0.94; MaxZ := 3.97;
end;
with arRockRecords[lumbridge_Mithril] do
begin
Name := 'Mithril';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 6702662;
HueMod := 0.06;
SatMod := 0.07;
LumTol := 12;
MinR := 44; MaxR := 95;
MinG := 44; MaxG := 96;
MinB := 65; MaxB := 140;
MinX := 2.98; MaxX := 13.39;
MinY := 2.81; MaxY := 12.45;
MinZ := 5.52; MaxZ := 26.13;
end;
with arRockRecords[lumbridge_Adamant] do
begin
Name := 'Adamant';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 5531988;
HueMod := 0.10;
SatMod := 0.06;
LumTol := 10;
MinR := 62; MaxR := 105;
MinG := 78; MaxG := 132;
MinB := 62; MaxB := 106;
MinX := 5.72; MaxX := 16.39;
MinY := 6.99; MaxY := 20.22;
MinZ := 5.73; MaxZ := 16.42;
end;
with arRockRecords[falador_Clay] do
begin
Name := 'Coal';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 4557999;
HueMod := 0.02;
SatMod := 0.65;
LumTol := 12;
MinR := 126; MaxR := 205;
MinG := 104; MaxG := 169;
MinB := 59; MaxB := 98;
MinX := 14.60; MaxX := 41.08;
MinY := 14.92; MaxY := 41.73;
MinZ := 6.37; MaxZ := 17.21;
end;
with arRockRecords[falador_Coal] do
begin
Name := 'Coal';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 2307124;
HueMod := 0.10;
SatMod := 0.17;
LumTol := 9;
MinR := 25; MaxR := 79;
MinG := 25; MaxG := 79;
MinB := 16; MaxB := 54;
MinX := 0.88; MaxX := 6.53;
MinY := 0.98; MaxY := 7.35;
MinZ := 0.66; MaxZ := 4.46;
end;
with arRockRecords[alkharid_Copper] do
begin
Name := 'Copper';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 4088460;
HueMod := 0.02;
SatMod := 0.11;
LumTol := 6;
MinR := 119; MaxR := 161;
MinG := 83; MaxG := 113;
MinB := 52; MaxB := 72;
MinX := 11.54; MaxX := 21.45;
MinY := 10.57; MaxY := 19.54;
MinZ := 4.78; MaxZ := 8.62;
end;
with arRockRecords[alkharid_Iron] do
begin
Name := 'Iron';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 2370625;
HueMod := 0.08;
SatMod := 0.13;
LumTol := 7;
MinR := 44; MaxR := 86;
MinG := 29; MaxG := 58;
MinB := 24; MaxB := 49;
MinX := 1.70; MaxX := 5.76;
MinY := 1.54; MaxY := 5.09;
MinZ := 1.11; MaxZ := 3.49;
end;
with arRockRecords[alkharid_Silver] do
begin
Name := 'Silver';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 9145493;
HueMod := 0.09;
SatMod := 0.14;
LumTol := 19;
MinR := 97; MaxR := 197;
MinG := 93; MaxG := 189;
MinB := 93; MaxB := 189;
MinX := 11.04; MaxX := 49.84;
MinY := 11.39; MaxY := 51.35;
MinZ := 12.19; MaxZ := 54.87;
end;
with arRockRecords[alkharid_Coal] do
begin
Name := 'Coal';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 2173996;
HueMod := 0.00;
SatMod := 0.60;
LumTol := 3;
MinR := 35; MaxR := 52;
MinG := 35; MaxG := 52;
MinB := 27; MaxB := 40;
MinX := 1.55; MaxX := 2.94;
MinY := 1.70; MaxY := 3.24;
MinZ := 1.33; MaxZ := 2.41;
end;
with arRockRecords[alkharid_Gold] do
begin
Name := 'Gold';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 1091800;
HueMod := 0.01;
SatMod := 1.00;
LumTol := 12;
MinR := 152; MaxR := 254;
MinG := 121; MaxG := 202;
MinB := 20; MaxB := 37;
MinX := 20.21; MaxX := 61.74;
MinY := 20.73; MaxY := 62.81;
MinZ := 3.63; MaxZ := 10.56;
end;
with arRockRecords[alkharid_Mithril] do
begin
Name := 'Mithril';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 6902096;
HueMod := 0.07;
SatMod := 0.06;
LumTol := 11;
MinR := 57; MaxR := 104;
MinG := 58; MaxG := 104;
MinB := 75; MaxB := 135;
MinX := 4.59; MaxX := 14.77;
MinY := 4.53; MaxY := 14.32;
MinZ := 7.45; MaxZ := 24.55;
end;
with arRockRecords[alkharid_Adamant] do
begin
Name := 'Adamant';
UpText := 'Mine';
MaxDist := 13;
MinCount := 5;
Color := 5200719;
HueMod := 0.14;
SatMod := 0.08;
LumTol := 8;
MinR := 61; MaxR := 97;
MinG := 70; MaxG := 112;
MinB := 61; MaxB := 97;
MinX := 5.09; MaxX := 12.64;
MinY := 5.86; MaxY := 14.72;
MinZ := 5.40; MaxZ := 13.26;
end;
end;
{*******************************************************************************
procedure LoadMiningBitMaps;
By: Stupid3ooo updated by NCDS
Description: Declares Mining Bitmap.
*******************************************************************************}
procedure LoadMiningBitMaps;
begin
BrokenPick := BitmapFromString(11, 6, 'z78DA73730301038A811' +
'B55CDA18569B800E5F662EA722311407401000F035515');
PickAxeHandle := BitmapFromString(14, 26, 'z78DA3330A014B82' +
'101032A99865F8412D3069B99F8750D0633E9E9C2C11F86A32E1C' +
'6C2E1CFC7979D48523A116A0BC061C2A66D2A2DE07009D42B460');
PickAxeHead := BitmapFromString(10, 7, 'z78DA33300001371CC0' +
'000720460D2E5D986CE27591AA973CF5D435C18D02003101000D7' +
'F5A19');
PickAxe := BitmapFromString(3, 10, 'beNpjYGJgYLLSkXQylAUydB' +
'WFTTXEgQwDFVELLQkgw0hNDCgLZADFbfWkIWqAgnDFuiqSsmI8KtL' +
'8YgKcksLcQHEgA4gYAIXZCCA=');
Ore := BitmapFromString(5, 6, 'beNpjYIr2NE4JMAeiUBd9BgamJD8' +
'zCAp3NYBzE3xMgQjIhTCAKM7bBMIFMtAQUByEALudFB8=');
end;
{*******************************************************************************
procedure SetupMining;
By: WT-Fakawi
Description: Loads Mining bitmap into memory.
*******************************************************************************}
procedure SetupMining;
begin
LoadMiningBitMaps;
LoadRockRecords;
end;
Just added in Alkharid ores to the LoadRockRecords procedure.
Here are the new indexes [as shown above]
alkharid_Copper = 19;
alkharid_Iron = 20;
alkharid_Silver = 21;
alkharid_Coal = 22;
alkharid_Gold = 23;
alkharid_Mithril = 24;
alkharid_Adamant = 25;