📄 uusersub.pas
字号:
Result := AttribData.cAge;
end;
function TAttribClass.GetCurHeadLife: integer;
begin
Result := CurAttribData.CurHeadSeak;
end;
function TAttribClass.GetCurArmLife: integer;
begin
Result := CurAttribData.CurArmSeak;
end;
function TAttribClass.GetCurLegLife: integer;
begin
Result := CurAttribData.CurLegSeak;
end;
function TAttribClass.GetCurLife : integer;
begin
Result := CurAttribData.CurLife;
end;
function TAttribClass.GetCurMagic : integer;
begin
Result := CurAttribData.CurMagic;
end;
function TAttribClass.GetCurOutPower : integer;
begin
Result := CurAttribData.CurOutPower;
end;
function TAttribClass.GetCurInPower : integer;
begin
Result := CurAttribData.CurInPower;
end;
function TAttribClass.GetMaxLife: integer;
begin
Result := AttribData.cLife;
end;
procedure TAttribClass.SetCurHeadLife (value: integer);
begin
if Value < 0 then Value := 0;
if CurAttribData.CurHeadSeak = Value then exit;
CurAttribData.CurHeadSeak := Value;
if CurAttribData.CurHeadSeak > AttribData.cHeadSeak then CurAttribData.CurHeadSeak := AttribData.cHeadSeak;
boSendValues := TRUE;
end;
procedure TAttribClass.SetCurArmLife (value: integer);
begin
if Value < 0 then Value := 0;
if CurAttribData.CurArmSeak = Value then exit;
CurAttribData.CurArmSeak := Value;
if CurAttribData.CurArmSeak > AttribData.cArmSeak then CurAttribData.CurArmSeak := AttribData.cArmSeak;
boSendValues := TRUE;
end;
procedure TAttribClass.SetCurLegLife (value: integer);
begin
if Value < 0 then Value := 0;
if CurAttribData.CurLegSeak = Value then exit;
CurAttribData.CurLegSeak := Value;
if CurAttribData.CurLegSeak > AttribData.cLegSeak then CurAttribData.CurLegSeak := AttribData.cLegSeak;
boSendValues := TRUE;
end;
procedure TAttribClass.SetCurLife (Value: integer);
begin
if Value < 0 then Value := 0;
if CurAttribData.CurLife = Value then exit;
CurAttribData.CurLife := Value;
if CurAttribData.CurLife > AttribData.cLife then CurAttribData.CurLife := AttribData.cLife;
boSendBase := TRUE;
end;
procedure TAttribClass.SetCurMagic (Value: integer);
begin
if Value < 0 then Value := 0;
if CurAttribData.CurMagic = Value then exit;
CurAttribData.CurMagic := Value;
if CurAttribData.CurMagic > AttribData.cMagic then CurAttribData.CurMagic := AttribData.cMagic;
boSendBase := TRUE;
end;
procedure TAttribClass.SetCurInPower (Value: integer);
begin
if Value < 0 then Value := 0;
if CurAttribData.CurInPower = Value then exit;
CurAttribData.CurInPower := Value;
if CurAttribData.CurInPower > AttribData.cInPower then CurAttribData.CurInPower := AttribData.cInPower;
boSendBase := TRUE;
end;
procedure TAttribClass.SetCurOutPower (Value: integer);
begin
if Value < 0 then Value := 0;
if CurAttribData.CurOutPower = Value then exit;
CurAttribData.CurOutPower := Value;
if CurAttribData.CurOutPower > AttribData.cOutPower then CurAttribData.CurOutPower := AttribData.cOutPower;
boSendBase := TRUE;
end;
procedure TAttribClass.AddAdaptive (aexp: integer);
var oldslevel : integer;
begin
if boAddExp = false then exit;
oldslevel := AttribData.cAdaptive;
if AddPermitExp (AttribData.cAdaptive, AttribData.Adaptive, DEFAULTEXP) <> 0 then
FSendClass.SendEventString ('郴己');
if oldslevel <> AttribData.cAdaptive then boSendValues := TRUE;
end;
function TAttribClass.CheckRevival: Boolean;
var
oldslevel : integer;
begin
Result := FALSE;
if boAddExp = false then exit;
if boRevivalFlag then begin
if CurAttribData.CurLife <= 0 then begin
oldslevel := AttribData.cRevival;
if AddPermitExp (AttribData.cRevival, AttribData.Revival, DEFAULTEXP) <> 0 then
FSendClass.SendEventString ('犁积');
if oldslevel <> AttribData.cRevival then boSendValues := TRUE;
boRevivalFlag := FALSE;
boEnergyFlag := FALSE;
boInPowerFlag := FALSE;
boOutPowerFlag := FALSE;
boMagicFlag := FALSE;
Result := TRUE;
end;
exit;
end;
if (AttribData.cLife - AttribData.cLife div 10) < CurAttribData.CurLife then boRevivalFlag := TRUE;
end;
function TAttribClass.CheckEnegy: Boolean;
var curslevel, oldslevel : integer;
begin
Result := FALSE;
if boAddExp = false then exit;
if boEnergyFlag then begin
if (AttribData.cEnergy - AttribData.cEnergy div 10) < CurAttribData.CurEnergy then begin
curslevel := GetLevel (AttribData.Energy);
oldslevel := curslevel;
if AddPermitExp (curslevel, AttribData.Energy, DEFAULTEXP) <> 0 then
FSendClass.SendEventString ('盔扁');
if oldslevel <> curslevel then boSendBase := TRUE;
boEnergyFlag := FALSE;
Result := TRUE;
end;
exit;
end;
if (AttribData.cEnergy div 10) > CurAttribData.CurEnergy then boEnergyFlag := TRUE;
end;
function TAttribClass.CheckInPower: Boolean;
var curslevel, oldslevel : integer;
begin
Result := FALSE;
if boAddExp = false then exit;
if boInPowerFlag then begin
if (AttribData.cInPower - AttribData.cInPower div 10) < CurAttribData.CurInPower then begin
curslevel := GetLevel (AttribData.InPower);
oldslevel := curslevel;
if AddPermitExp (curslevel, AttribData.InPower, DEFAULTEXP) <> 0 then
FSendClass.SendEventString ('郴傍');
if oldslevel <> curslevel then boSendBase := TRUE;
boInPowerFlag := FALSE;
Result := TRUE;
end;
exit;
end;
if (AttribData.cInPower div 10) > CurAttribData.CurInPower then boInPowerFlag := TRUE;
end;
function TAttribClass.CheckOutPower: Boolean;
var curslevel, oldslevel : integer;
begin
Result := FALSE;
if boAddExp = false then exit;
if boOutPowerFlag then begin
if (AttribData.cOutPower - AttribData.cOutPower div 10) < CurAttribData.CurOutPower then begin
curslevel := GetLevel (AttribData.OutPower);
oldslevel := curslevel;
if AddPermitExp (curslevel, AttribData.OutPower, DEFAULTEXP) <> 0 then
FSendClass.SendEventString ('寇傍');
if oldslevel <> curslevel then boSendBase := TRUE;
boOutPowerFlag := FALSE;
Result := TRUE;
end;
exit;
end;
if (AttribData.cOutPower div 10) > CurAttribData.CurOutPower then boOutPowerFlag := TRUE;
end;
function TAttribClass.CheckMagic: Boolean;
var curslevel, oldslevel : integer;
begin
Result := FALSE;
if boAddExp = false then exit;
if boMagicFlag then begin
if (AttribData.cMagic - AttribData.cMagic div 10) < CurAttribData.CurMagic then begin
curslevel := GetLevel (AttribData.Magic);
oldslevel := curslevel;
if AddPermitExp (curslevel, AttribData.Magic, DEFAULTEXP) <> 0 then
FSendClass.SendEventString ('公傍');
if oldslevel <> curslevel then boSendBase := TRUE;
boMagicFlag := FALSE;
Result := TRUE;
end;
exit;
end;
if (AttribData.cMagic div 10) > CurAttribData.CurMagic then boMagicFlag := TRUE;
end;
procedure TAttribClass.LoadFromSdb (aCharData : PTDBRecord);
begin
ReQuestPlaySoundNumber := 0;
StartTick := mmAnsTick;
FFeatureState := wfs_normal;
boRevivalFlag := FALSE;
boEnergyFlag := FALSE;
boInPowerFlag := FALSE;
boOutPowerFlag := FALSE;
boMagicFlag := FALSE;
FillChar (AttribData, sizeof(AttribData), 0);
FillChar (CurAttribData, sizeof(CurAttribData), 0);
FillChar (ItemDrugArr, sizeof(ItemDrugArr), 0);
CheckIncreaseTick := StartTick;
CheckDrugTick := StartTick;
boMan := FALSE;
boMan := false;
if StrPas (@aCharData^.Sex) = '巢' then boMan := true;
//
AttribData.Light := aCharData^.Light;
AttribData.Dark := aCharData^.Dark;
AttribData.Age := AttribData.Light + AttribData.Dark;
AttribData.Energy := aCharData^.Energy;
AttribData.InPower := aCharData^.InPower;
AttribData.OutPower := aCharData^.OutPower;
AttribData.Magic := aCharData^.Magic;
AttribData.Life := aCharData^.Life;
with AttribData do begin
Talent := aCharData^.Talent;
GoodChar := aCharData^.GoodChar;
BadChar := aCharData^.BadChar;
{
str := UserData.GetFieldValueString (aName, '父电朝磊');
if str <> '' then begin
try
lucky := Round (Date - StrToDate (str)) mod 50 + 50;
except
lucky := 50;
end;
end else begin
lucky := 50;
end;
}
lucky := 50;
lucky := lucky * 100;
adaptive := aCharData^.Adaptive;
revival := aCharData^.Revival;
immunity := aCharData^.Immunity;
virtue := aCharData^.Virtue;
end;
CurAttribData.CurEnergy := aCharData^.CurEnergy;
CurAttribData.CurInPower := aCharData^.CurInPower;
CurAttribData.CurOutPower := aCharData^.CurOutPower;
CurAttribData.CurMagic := aCharData^.CurMagic;
CurAttribData.CurLife := aCharData^.CurLife;
CurAttribData.Curhealth := aCharData^.CurHealth;
CurAttribData.Cursatiety := aCharData^.CurSatiety;
CurAttribData.Curpoisoning := aCharData^.CurPoisoning;
CurAttribData.CurHeadSeak := aCharData^.CurHeadSeek;
CurAttribData.CurArmSeak := aCharData^.CurArmSeek;
CurAttribData.CurLegSeak := aCharData^.CurLegSeek;
Calculate;
FSendClass.SendAttribBase (AttribData, CurAttribData);
FSendClass.SendAttribValues (AttribData, CurAttribData);
boSendBase := FALSE;
boSendValues := FALSE;
end;
procedure TAttribClass.SaveToSdb (aCharData : PTDBRecord);
var n : integer;
begin
if GrobalLightDark = gld_light then begin
n := aCharData^.Light;
n := n + (mmAnsTick - StartTick) div 100;
aCharData^.Light := n;
end else begin
n := aCharData^.Dark;
n := n + (mmAnsTick - StartTick) div 100;
aCharData^.Dark := n;
end;
aCharData^.CurEnergy := CurAttribData.CurEnergy;
aCharData^.CurInPower := CurAttribData.CurInPower;
aCharData^.CurOutPower := CurAttribData.CurOutPower;
aCharData^.CurMagic := CurAttribData.CurMagic;
aCharData^.CurLife := CurAttribData.CurLife;
aCharData^.CurHealth := CurAttribData.Curhealth;
aCharData^.CurSatiety := CurAttribData.Cursatiety;
aCharData^.CurPoisoning := CurAttribData.Curpoisoning;
aCharData^.CurHeadSeek := CurAttribData.CurHeadSeak;
aCharData^.CurArmSeek := CurAttribData.CurArmSeak;
aCharData^.CurLegSeek := CurAttribData.CurLegSeak;
aCharData^.Energy := AttribData.Energy;
aCharData^.InPower := AttribData.InPower;
aCharData^.OutPower := AttribData.OutPower;
aCharData^.Magic := AttribData.Magic;
aCharData^.Life := AttribData.Life;
with AttribData do begin
aCharData^.Talent := Talent;
aCharData^.GoodChar := GoodChar;
aCharData^.BadChar := BadChar;
aCharData^.Adaptive := adaptive;
aCharData^.Revival := revival;
aCharData^.Immunity := immunity;
aCharData^.Virtue := virtue;
end;
StartTick := mmAnsTick;
AttribData.Light := aCharData^.Light;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -