Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 2: //회복술
- begin
- if target = nil then begin
- target := user;
- xx := user.CX;
- yy := user.CY;
- end;
- if user.IsProperFriend(target) then begin
- with user do begin
- pwr := GetAttackPower(GetPower(MPow(pum)) + Lobyte(WAbil.SC) *
- 2, shortint(Hibyte(WAbil.SC) - Lobyte(WAbil.SC)) * 2 + 1);
- end;
- if target.WAbil.HP < target.WAbil.MaxHP then begin
- target.SendDelayMsg(user, RM_MAGHEALING, 0, pwr, 0, 0, '', 800);
- train := True;
- end;
- if user.BoAbilSeeHealGauge then begin
- user.SendMsg(target, RM_INSTANCEHEALGUAGE, 0, 0, 0, 0, '');
- end;
- end;
- end;
- function TCreature.GetAttackPower(damage, ranval: integer): integer;
- var
- v1, v2: integer;
- begin
- if ranval < 0 then
- ranval := 0;
- if Luck > 0 then begin
- if Random(10 - _MIN(9, Luck)) = 0 then
- Result := damage + ranval //행운인경우
- else
- Result := damage + Random(ranval + 1);
- end else begin
- Result := damage + Random(ranval + 1);
- if Luck < 0 then begin
- //10보다 큰 불운인경우 100% 최소데미지 적용(sonmg 2004/08/16)
- if Random(_MAX(0, 10 - _MAX(0, -Luck))) = 0 then
- Result := damage; //불운인경우
- end;
- end;
- end;
- function GetPower(pw: integer): integer; //수련 0 단계에서는 1/4의 파워임
- begin
- Result := Round(pw / (pum.pDef.MaxTrainLevel + 1) * (pum.Level + 1)) +
- (pum.pDef.DefMinPower + Random(pum.pDef.DefMaxPower - pum.pDef.DefMinPower));
- end;
- function TMagicManager.MPow(pum: PTUserMagic): integer;
- begin
- Result := pum.pDef.MinPower + Random(pum.pDef.MaxPower - pum.pDef.MinPower);
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement