📄 itmunit.pas
字号:
Inc(AddAbility.wMP, AC2);
Inc(AddAbility.btUnLuck, MAC);
Inc(AddAbility.btLuck, MAC2);
end;
20, 24:
begin //004C0FF0
Inc(AddAbility.wHitPoint, AC2);
Inc(AddAbility.wSpeedPoint, MAC2);
end;
52:
begin //原本与 20,24 一个属性,现在分开单独进行设置
if g_Config.boAddUserItemNewValue then
begin
Inc(AddAbility.wHitPoint, AC2);
Inc(AddAbility.wSpeedPoint, MAC2);
end else
begin
AddAbility.wAC := MakeLong(LoWord(AddAbility.wAC) + AC, HiWord(AddAbility.wAC) + AC2);
AddAbility.wMAC := MakeLong(LoWord(AddAbility.wMAC) + MAC, HiWord(AddAbility.wMAC) + MAC2);
end;
end;
62:
begin
Inc(AddAbility.HandWeight, AC2);
Inc(AddAbility.Weight, MAC);
Inc(AddAbility.WearWeight, MAC2);
end;
21:
begin
Inc(AddAbility.wHealthRecover, AC2);
Inc(AddAbility.wSpellRecover, MAC2);
Inc(AddAbility.nHitSpeed, AC);
Dec(AddAbility.nHitSpeed, MAC);
end;
54:
begin //Belt
if g_Config.boAddUserItemNewValue then
begin
Inc(AddAbility.wHealthRecover, AC2);
Inc(AddAbility.wSpellRecover, MAC2);
Inc(AddAbility.nHitSpeed, AC);
Dec(AddAbility.nHitSpeed, MAC);
end else
begin
AddAbility.wAC := MakeLong(LoWord(AddAbility.wAC) + AC, HiWord(AddAbility.wAC) + AC2);
AddAbility.wMAC := MakeLong(LoWord(AddAbility.wMAC) + MAC, HiWord(AddAbility.wMAC) + MAC2);
end;
end;
64:
begin //Belt
Inc(AddAbility.wHealthRecover, AC2);
Inc(AddAbility.wSpellRecover, MAC2);
Inc(AddAbility.nHitSpeed, AC);
Dec(AddAbility.nHitSpeed, MAC);
end;
23:
begin
Inc(AddAbility.wAntiPoison, AC2);
Inc(AddAbility.wPoisonRecover, MAC2);
Inc(AddAbility.nHitSpeed, AC);
Dec(AddAbility.nHitSpeed, MAC);
end;
{21: begin //格吧捞
Inc(AddAbility.wAntiMagic,AC2);
Inc(AddAbility.btUnLuck,MAC);
Inc(AddAbility.btLuck,MAC2);
end;
22, //格吧捞
41: begin //迫骂
Inc(AddAbility.wHitPoint,AC2);
Inc(AddAbility.wSpeedPoint,MAC2);
end;
23: begin //格吧捞
Inc(AddAbility.wHealthRecover,AC2);
Inc(AddAbility.wSpellRecover,MAC2);
Inc(AddAbility.nHitSpeed,AC);
Dec(AddAbility.nHitSpeed,MAC);
end;
32: begin //馆瘤
Inc(AddAbility.wAntiPoison,AC2);
Inc(AddAbility.wPoisonRecover,MAC2);
Inc(AddAbility.nHitSpeed,AC);
Dec(AddAbility.nHitSpeed,MAC);
end;
else begin
AddAbility.wAC := MakeLong(LoWord(AddAbility.wAC) + AC,HiWord(AddAbility.wAC) + AC2);
AddAbility.wMAC := MakeLong(LoWord(AddAbility.wMAC) + MAC,HiWord(AddAbility.wMAC) + MAC2);
end;}
end;
end;
end;
AddAbility.wDC := MakeLong(LoWord(AddAbility.wDC) + DC, HiWord(AddAbility.wDC) + DC2);
AddAbility.wMC := MakeLong(LoWord(AddAbility.wMC) + MC, HiWord(AddAbility.wMC) + MC2);
AddAbility.wSC := MakeLong(LoWord(AddAbility.wSC) + SC, HiWord(AddAbility.wSC) + SC2);
end;
{ TItemUnit }
constructor TItemUnit.Create;
begin
m_ItemNameList := TGList.Create;
end;
destructor TItemUnit.Destroy;
var
i: Integer;
begin
for i := 0 to m_ItemNameList.Count - 1 do
begin
Dispose(pTItemName(m_ItemNameList.Items[i]));
end;
m_ItemNameList.Free;
inherited;
end;
function GetItemName(UserItem: pTUserItem): string;
begin
//取自定义物品名称
Result := '';
if UserItem.btValue[13] = 1 then
Result := ItemUnit.GetCustomItemName(UserItem.MakeIndex, UserItem.wIndex);
if Result = '' then
Result := UserEngine.GetStdItemName(UserItem.wIndex);
end;
function TItemUnit.GetCustomItemName(nMakeIndex,
nItemIndex: Integer): string;
var
i: Integer;
ItemName: pTItemName;
begin
Result := '';
m_ItemNameList.Lock;
try
for i := 0 to m_ItemNameList.Count - 1 do
begin
ItemName := m_ItemNameList.Items[i];
if (ItemName.nMakeIndex = nMakeIndex) and (ItemName.nItemIndex = nItemIndex) then
begin
Result := ItemName.sItemName;
Break;
end;
end;
finally
m_ItemNameList.UnLock;
end;
end;
function TItemUnit.AddCustomItemName(nMakeIndex, nItemIndex: Integer;
sItemName: string): Boolean;
var
i: Integer;
ItemName: pTItemName;
begin
Result := False;
m_ItemNameList.Lock;
try
for i := 0 to m_ItemNameList.Count - 1 do
begin
ItemName := m_ItemNameList.Items[i];
if (ItemName.nMakeIndex = nMakeIndex) and (ItemName.nItemIndex = nItemIndex) then
begin
Exit;
end;
end;
New(ItemName);
ItemName.nMakeIndex := nMakeIndex;
ItemName.nItemIndex := nItemIndex;
ItemName.sItemName := sItemName;
m_ItemNameList.Add(ItemName);
Result := True;
finally
m_ItemNameList.UnLock;
end;
end;
function TItemUnit.DelCustomItemName(nMakeIndex, nItemIndex: Integer): Boolean;
var
i: Integer;
ItemName: pTItemName;
begin
Result := False;
m_ItemNameList.Lock;
try
for i := 0 to m_ItemNameList.Count - 1 do
begin
ItemName := m_ItemNameList.Items[i];
if (ItemName.nMakeIndex = nMakeIndex) and (ItemName.nItemIndex = nItemIndex) then
begin
Dispose(ItemName);
m_ItemNameList.Delete(i);
Result := True;
Exit;
end;
end;
finally
m_ItemNameList.UnLock;
end;
end;
function TItemUnit.LoadCustomItemName: Boolean;
var
i: Integer;
LoadList: TStringList;
sFileName: string;
sLineText: string;
sMakeIndex: string;
sItemIndex: string;
nMakeIndex: Integer;
nItemIndex: Integer;
sItemName: string;
ItemName: pTItemName;
begin
Result := False;
sFileName := g_Config.sEnvirDir + 'ItemNameList.txt';
LoadList := TStringList.Create;
if FileExists(sFileName) then
begin
m_ItemNameList.Lock;
try
m_ItemNameList.Clear;
LoadList.LoadFromFile(sFileName);
for i := 0 to LoadList.Count - 1 do
begin
sLineText := Trim(LoadList.Strings[i]);
sLineText := GetValidStr3(sLineText, sMakeIndex, [' ', #9]);
sLineText := GetValidStr3(sLineText, sItemIndex, [' ', #9]);
sLineText := GetValidStr3(sLineText, sItemName, [' ', #9]);
nMakeIndex := Str_ToInt(sMakeIndex, -1);
nItemIndex := Str_ToInt(sItemIndex, -1);
if (nMakeIndex >= 0) and (nItemIndex >= 0) then
begin
New(ItemName);
ItemName.nMakeIndex := nMakeIndex;
ItemName.nItemIndex := nItemIndex;
ItemName.sItemName := sItemName;
m_ItemNameList.Add(ItemName);
end;
end;
Result := True;
finally
m_ItemNameList.UnLock;
end;
end else
begin
LoadList.SaveToFile(sFileName);
end;
LoadList.Free;
end;
function TItemUnit.SaveCustomItemName: Boolean;
var
i: Integer;
SaveList: TStringList;
sFileName: string;
ItemName: pTItemName;
begin
sFileName := g_Config.sEnvirDir + 'ItemNameList.txt';
SaveList := TStringList.Create;
m_ItemNameList.Lock;
try
for i := 0 to m_ItemNameList.Count - 1 do
begin
ItemName := m_ItemNameList.Items[i];
SaveList.Add(IntToStr(ItemName.nMakeIndex) + #9 + IntToStr(ItemName.nItemIndex) + #9 + ItemName.sItemName);
end;
finally
m_ItemNameList.UnLock;
end;
SaveList.SaveToFile(sFileName);
SaveList.Free;
Result := True;
end;
procedure TItemUnit.Lock;
begin
m_ItemNameList.Lock;
end;
procedure TItemUnit.UnLock;
begin
m_ItemNameList.UnLock;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -