Advertisement
Guest User

Untitled

a guest
Jul 18th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. 2: //회복술
  2. begin
  3. if target = nil then begin
  4. target := user;
  5. xx := user.CX;
  6. yy := user.CY;
  7. end;
  8. if user.IsProperFriend(target) then begin
  9. with user do begin
  10. pwr := GetAttackPower(GetPower(MPow(pum)) + Lobyte(WAbil.SC) *
  11. 2, shortint(Hibyte(WAbil.SC) - Lobyte(WAbil.SC)) * 2 + 1);
  12. end;
  13. if target.WAbil.HP < target.WAbil.MaxHP then begin
  14. target.SendDelayMsg(user, RM_MAGHEALING, 0, pwr, 0, 0, '', 800);
  15. train := True;
  16. end;
  17. if user.BoAbilSeeHealGauge then begin
  18. user.SendMsg(target, RM_INSTANCEHEALGUAGE, 0, 0, 0, 0, '');
  19. end;
  20. end;
  21. end;
  22.  
  23. function TCreature.GetAttackPower(damage, ranval: integer): integer;
  24. var
  25. v1, v2: integer;
  26. begin
  27. if ranval < 0 then
  28. ranval := 0;
  29. if Luck > 0 then begin
  30. if Random(10 - _MIN(9, Luck)) = 0 then
  31. Result := damage + ranval //행운인경우
  32. else
  33. Result := damage + Random(ranval + 1);
  34. end else begin
  35. Result := damage + Random(ranval + 1);
  36. if Luck < 0 then begin
  37. //10보다 큰 불운인경우 100% 최소데미지 적용(sonmg 2004/08/16)
  38. if Random(_MAX(0, 10 - _MAX(0, -Luck))) = 0 then
  39. Result := damage; //불운인경우
  40. end;
  41. end;
  42. end;
  43.  
  44.  
  45. function GetPower(pw: integer): integer; //수련 0 단계에서는 1/4의 파워임
  46. begin
  47. Result := Round(pw / (pum.pDef.MaxTrainLevel + 1) * (pum.Level + 1)) +
  48. (pum.pDef.DefMinPower + Random(pum.pDef.DefMaxPower - pum.pDef.DefMinPower));
  49. end;
  50.  
  51.  
  52. function TMagicManager.MPow(pum: PTUserMagic): integer;
  53. begin
  54. Result := pum.pDef.MinPower + Random(pum.pDef.MaxPower - pum.pDef.MinPower);
  55. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement