Advertisement
Artvr3

Untitled

May 15th, 2021
1,318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.57 KB | None | 0 0
  1. SET OWN BON VAULE
  2.  
  3.  
  4.  
  5. #if defined(__ALIGNMENT_AFFECT__)
  6. void CHARACTER::AlignmentBonus()
  7. {
  8.     if (IsPC() && (!GetDesc() || !GetDesc()->GetCharacter()))
  9.         return;
  10.  
  11.     int iRealAlignment = m_iRealAlignment / 10;
  12.  
  13.     int iAlignmentBonus[7][13] = {
  14.         { 25000 /*rangi*/, POINT_MAX_HP, 0, POINT_ATT_GRADE_BONUS, 0, POINT_ATTBONUS_MONSTER, 0, POINT_ATTBONUS_STONE, 0, POINT_ATTBONUS_BOSS, 25, POINT_ATTBONUS_HUMAN, 0 },
  15.         { 21000 /*rangi*/, POINT_MAX_HP, 0, POINT_ATT_GRADE_BONUS, 0, POINT_ATTBONUS_MONSTER, 0, POINT_ATTBONUS_STONE, 0, POINT_ATTBONUS_BOSS, 20, POINT_ATTBONUS_HUMAN, 0 },
  16.         { 17000 /*rangi*/, POINT_MAX_HP, 0, POINT_ATT_GRADE_BONUS, 0, POINT_ATTBONUS_MONSTER, 0, POINT_ATTBONUS_STONE, 0, POINT_ATTBONUS_BOSS, 15, POINT_ATTBONUS_HUMAN, 0 },
  17.         { 13000 /*rangi*/, POINT_MAX_HP, 0, POINT_ATT_GRADE_BONUS, 0, POINT_ATTBONUS_MONSTER, 0, POINT_ATTBONUS_STONE, 0, POINT_ATTBONUS_BOSS, 10, POINT_ATTBONUS_HUMAN, 0 },
  18.         { 9000 /*rangi*/, POINT_MAX_HP, 0, POINT_ATT_GRADE_BONUS, 0, POINT_ATTBONUS_MONSTER, 0, POINT_ATTBONUS_STONE, 0, POINT_ATTBONUS_BOSS, 5, POINT_ATTBONUS_HUMAN, 0 },
  19.         { 5000 /*rangi*/, POINT_MAX_HP, 0, POINT_ATT_GRADE_BONUS, 0, POINT_ATTBONUS_MONSTER, 0, POINT_ATTBONUS_STONE, 0, POINT_ATTBONUS_BOSS, 0, POINT_ATTBONUS_HUMAN, 0 },
  20.         { 2000 /*rangi*/, POINT_MAX_HP, 0, POINT_ATT_GRADE_BONUS, 0, POINT_ATTBONUS_MONSTER, 0, POINT_ATTBONUS_STONE, 0, POINT_ATTBONUS_BOSS, 0, POINT_ATTBONUS_HUMAN, 0 },
  21.          //     0               1         2         3           4               5           6           7           8           9           10          11            12
  22.     };
  23.  
  24.     for (int i = 0; i < 7; i++)
  25.     {
  26.         if (iRealAlignment >= iAlignmentBonus[i][0])
  27.         {
  28.             AddAffect(AFFECT_ALIGNMENT, iAlignmentBonus[i][1], iAlignmentBonus[i][2], AFF_NONE, INFINITE_AFFECT_DURATION, 0, true, true);
  29.             AddAffect(AFFECT_ALIGNMENT_1, iAlignmentBonus[i][3], iAlignmentBonus[i][4], AFF_NONE, INFINITE_AFFECT_DURATION, 0, true, true);
  30.             AddAffect(AFFECT_ALIGNMENT_2, iAlignmentBonus[i][5], iAlignmentBonus[i][6], AFF_NONE, INFINITE_AFFECT_DURATION, 0, true, true);
  31.             AddAffect(AFFECT_ALIGNMENT_3, iAlignmentBonus[i][7], iAlignmentBonus[i][8], AFF_NONE, INFINITE_AFFECT_DURATION, 0, true, true);
  32.             AddAffect(AFFECT_ALIGNMENT_4, iAlignmentBonus[i][9], iAlignmentBonus[i][10], AFF_NONE, INFINITE_AFFECT_DURATION, 0, true, true);
  33.             AddAffect(AFFECT_ALIGNMENT_5, iAlignmentBonus[i][11], iAlignmentBonus[i][12], AFF_NONE, INFINITE_AFFECT_DURATION, 0, true, true);
  34.             return;
  35.         }
  36.  
  37.     }
  38.  
  39.     RemoveAffect(AFFECT_ALIGNMENT);
  40.     RemoveAffect(AFFECT_ALIGNMENT_1);
  41.     RemoveAffect(AFFECT_ALIGNMENT_2);
  42.     RemoveAffect(AFFECT_ALIGNMENT_3);
  43.     RemoveAffect(AFFECT_ALIGNMENT_4);
  44.     RemoveAffect(AFFECT_ALIGNMENT_5);
  45. }
  46. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement