Advertisement
Guest User

Auto Set Attributes

a guest
Mar 28th, 2023
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. scn AutoSetAttributesSCRIPT
  2.  
  3. short myStrength
  4. short myEndurance
  5. short mySpeed
  6. short myAgility
  7. short myPersonality
  8. short myIntelligence
  9. short myWillpower
  10. short myLuck
  11.  
  12. short averageStrength
  13. short averageEndurance
  14. short averageSpeed
  15. short averageAgility
  16. short averagePersonality
  17. short averageIntelligence
  18. short averageWillpower
  19. short averageLuck
  20.  
  21. short myBlade
  22. short myBlunt
  23. short myHandtoHand
  24. short myArmorer
  25. short myBlock
  26. short myHeavyArmor
  27. short myAthletics
  28. short myAcrobatics
  29. short myLightArmor
  30. short mySecurity
  31. short mySneak
  32. short myMarksman
  33. short myMercantile
  34. short mySpeechcraft
  35. short myIllusion
  36. short myAlchemy
  37. short myConjuration
  38. short myMysticism
  39. short myAlteration
  40. short myDestruction
  41. short myRestoration
  42.  
  43. short myLevel
  44. short myHealth
  45. short baseHealth
  46. short plusHealth
  47. short minimumHealth
  48.  
  49. short runOnce
  50.  
  51. short starLady
  52. short starSteed
  53. short starThief
  54. short starWarrior
  55.  
  56.  
  57. BEGIN MenuMode 1
  58.     ; Wait sewer "Tutorial Quest" to finish
  59.     if ( GetStageDone MQ01 90 != 1 )
  60.         return
  61.     endif
  62.    
  63.     ; Initialize variables
  64.     set myStrength to PlayerREF.getBaseAV Strength
  65.     set myIntelligence to PlayerREF.getBaseAV Intelligence
  66.     set myWillpower to PlayerREF.getBaseAV Willpower
  67.     set myAgility to PlayerREF.getBaseAV Agility
  68.     set mySpeed to PlayerREF.getBaseAV Speed
  69.     set myEndurance to PlayerREF.getBaseAV Endurance
  70.     set myPersonality to PlayerREF.getBaseAV Personality
  71.     set myLuck to PlayerREF.getBaseAV Luck
  72.     set myLevel to PlayerREF.getLevel
  73.    
  74.     set myBlade to PlayerREF.getBaseAV Blade
  75.     set myBlunt to PlayerREF.getBaseAV Blunt
  76.     set myHandtoHand to PlayerREF.getBaseAV HandtoHand
  77.     set myArmorer to PlayerREF.getBaseAV Armorer
  78.     set myBlock to PlayerREF.getBaseAV Block
  79.     set myHeavyArmor to PlayerREF.getBaseAV HeavyArmor
  80.     set myAthletics to PlayerREF.getBaseAV Athletics
  81.     set myAcrobatics to PlayerREF.getBaseAV Acrobatics
  82.     set myLightArmor to PlayerREF.getBaseAV LightArmor
  83.     set mySecurity to PlayerREF.getBaseAV Security
  84.     set mySneak to PlayerREF.getBaseAV Sneak
  85.     set myMarksman to PlayerREF.getBaseAV Marksman
  86.     set myMercantile to PlayerREF.getBaseAV Mercantile
  87.     set mySpeechcraft to PlayerREF.getBaseAV Speechcraft
  88.     set myIllusion to PlayerREF.getBaseAV Illusion
  89.     set myAlchemy to PlayerREF.getBaseAV Alchemy
  90.     set myConjuration to PlayerREF.getBaseAV Conjuration
  91.     set myMysticism to PlayerREF.getBaseAV Mysticism
  92.     set myAlteration to PlayerREF.getBaseAV Alteration
  93.     set myDestruction to PlayerREF.getBaseAV Destruction
  94.     set myRestoration to PlayerREF.getBaseAV Restoration
  95.    
  96.     ; Consider all values limited to 100
  97.     ; skills
  98.     if ( myBlade > 100 )
  99.         set myBlade to 100
  100.     endif
  101.     if ( myBlunt > 100 )
  102.         set myBlunt to 100
  103.     endif
  104.     if ( myHandtoHand > 100 )
  105.         set myHandtoHand to 100
  106.     endif
  107.     if ( myArmorer > 100 )
  108.         set myArmorer to 100
  109.     endif
  110.     if ( myBlock > 100 )
  111.         set myBlock to 100
  112.     endif
  113.     if ( myHeavyArmor > 100 )
  114.         set myHeavyArmor to 100
  115.     endif
  116.     if ( myAthletics > 100 )
  117.         set myAthletics to 100
  118.     endif
  119.     if ( myAcrobatics > 100 )
  120.         set myAcrobatics to 100
  121.     endif
  122.     if ( myLightArmor > 100 )
  123.         set myLightArmor to 100
  124.     endif
  125.     if ( mySecurity > 100 )
  126.         set mySecurity to 100
  127.     endif
  128.     if ( mySneak > 100 )
  129.         set mySneak to 100
  130.     endif
  131.     if ( myMarksman > 100 )
  132.         set myMarksman to 100
  133.     endif
  134.     if ( myMercantile > 100 )
  135.         set myMercantile to 100
  136.     endif
  137.     if ( mySpeechcraft > 100 )
  138.         set mySpeechcraft to 100
  139.     endif
  140.     if ( myIllusion > 100 )
  141.         set myIllusion to 100
  142.     endif
  143.     if ( myAlchemy > 100 )
  144.         set myAlchemy to 100
  145.     endif
  146.     if ( myConjuration > 100 )
  147.         set myConjuration to 100
  148.     endif
  149.     if ( myMysticism > 100 )
  150.         set myMysticism to 100
  151.     endif
  152.     if ( myAlteration > 100 )
  153.         set myAlteration to 100
  154.     endif
  155.     if ( myDestruction > 100 )
  156.         set myDestruction to 100
  157.     endif
  158.     if ( myRestoration > 100 )
  159.         set myRestoration to 100
  160.     endif
  161.    
  162.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  163.     ; Birth Signs
  164.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  165.     ; Keep track of Birth Signs
  166.    
  167.     ; Lady: Willpower +10, Endurance +10
  168.     if ( GetIsPlayerBirthsign BirthsignLady == 1 )
  169.         set starLady to 1
  170.     else
  171.         set starLady to 0
  172.     endif
  173.    
  174.     ; Steed: Speed +20
  175.     if ( GetIsPlayerBirthsign BirthsignSteed == 1 )
  176.         set starSteed to 1
  177.     else
  178.         set starSteed to 0
  179.     endif
  180.     ; Thief: Agility +10, Speed +10, Luck +10
  181.     if ( GetIsPlayerBirthsign BirthsignThief == 1 )
  182.         set starThief to 1
  183.     else
  184.         set starThief to 0
  185.     endif
  186.     ; Warrior: Strength +10, Endurance +10
  187.     if ( GetIsPlayerBirthsign BirthsignWarrior == 1 )
  188.         set starWarrior to 1
  189.     else
  190.         set starWarrior to 0
  191.     endif
  192.    
  193.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  194.     ; Strength
  195.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  196.     ; arithmetic average
  197.     set averageStrength to ( ( myBlade + myBlunt + myHandtoHand ) / 3 )
  198.    
  199.     ; BirthSign
  200.     if ( starWarrior == 1 )
  201.         set averageStrength to ( averageStrength + 10 )
  202.     endif
  203.    
  204.     if ( averageStrength > 100 )
  205.         set averageStrength to 100
  206.     endif
  207.    
  208.     ; Never reduces
  209.     if ( averageStrength > myStrength )
  210.         PlayerREF.SetActorValue Strength averageStrength
  211.     endif
  212.  
  213.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  214.     ; Intelligence
  215.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  216.     ; arithmetic average
  217.     set averageIntelligence to ( ( myAlchemy + myConjuration + myMysticism ) / 3 )
  218.    
  219.     if ( averageIntelligence > 100 )
  220.         set averageIntelligence to 100
  221.     endif
  222.    
  223.     ; Never reduces
  224.     if ( averageIntelligence > myIntelligence )
  225.         PlayerREF.SetActorValue Intelligence averageIntelligence
  226.     endif
  227.    
  228.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  229.     ; Willpower
  230.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  231.     ; arithmetic average
  232.     set averageWillpower to ( ( myAlteration + myDestruction + myRestoration ) / 3 )
  233.    
  234.     ; BirthSign
  235.     if ( starLady == 1 )
  236.         set averageWillpower to ( averageWillpower + 10 )
  237.     endif
  238.    
  239.     if ( averageWillpower > 100 )
  240.         set averageWillpower to 100
  241.     endif
  242.    
  243.     ; Never reduces
  244.     if ( averageWillpower > myWillpower )
  245.         PlayerREF.SetActorValue Willpower averageWillpower
  246.     endif
  247.    
  248.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  249.     ; Agility
  250.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  251.     ; arithmetic average
  252.     set averageAgility to ( ( mySecurity + mySneak + myMarksman ) / 3 )
  253.    
  254.     ; BirthSign
  255.     if ( starThief == 1 )
  256.         set averageAgility to ( averageAgility + 10 )
  257.     endif
  258.    
  259.     if ( averageAgility > 100 )
  260.         set averageAgility to 100
  261.     endif
  262.    
  263.     ; Never reduces
  264.     if ( averageAgility > myAgility )
  265.         PlayerREF.SetActorValue Agility averageAgility
  266.     endif
  267.    
  268.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  269.     ; Speed
  270.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  271.     ; arithmetic average
  272.     set averageSpeed to ( ( myAthletics + myAcrobatics + myLightArmor ) / 3 )
  273.    
  274.     ; BirthSign
  275.     if ( starSteed == 1 )
  276.         set averageSpeed to ( averageSpeed + 20 )
  277.     endif
  278.     if ( starThief == 1 )
  279.         set averageSpeed to ( averageSpeed + 10 )
  280.     endif
  281.    
  282.     if ( averageSpeed > 100 )
  283.         set averageSpeed to 100
  284.     endif
  285.    
  286.     ; Never reduces
  287.     if ( averageSpeed > mySpeed )
  288.         PlayerREF.SetActorValue Speed averageSpeed
  289.     endif
  290.    
  291.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  292.     ; Endurance
  293.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  294.     ; arithmetic average
  295.     set averageEndurance to ( ( myArmorer + myBlock + myHeavyArmor ) / 3 )
  296.    
  297.     ; BirthSign
  298.     if ( starWarrior == 1 )
  299.         set averageEndurance to ( averageEndurance + 10 )
  300.     endif
  301.     if ( starLady == 1 )
  302.         set averageEndurance to ( averageEndurance + 10 )
  303.     endif
  304.    
  305.     if ( averageEndurance > 100 )
  306.         set averageEndurance to 100
  307.     endif
  308.    
  309.     ; Never reduces
  310.     if ( averageEndurance > myEndurance )
  311.         PlayerREF.SetActorValue Endurance averageEndurance
  312.     endif
  313.    
  314.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  315.     ; Personality
  316.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  317.     ; arithmetic average
  318.     set averagePersonality to ( ( myMercantile + mySpeechcraft + myIllusion ) / 3 )
  319.    
  320.     if ( averagePersonality > 100 )
  321.         set averagePersonality to 100
  322.     endif
  323.    
  324.     ; Never reduces
  325.     if ( averagePersonality > myPersonality )
  326.         PlayerREF.SetActorValue Personality averagePersonality
  327.     endif
  328.    
  329.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  330.     ; Luck
  331.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  332.     ; Luck is based on Level
  333.     set averageLuck to ( myLevel + 50 )
  334.  
  335.     ; BirthSign
  336.     if ( starThief == 1 )
  337.         set averageLuck to ( averageLuck + 10 )
  338.     endif
  339.    
  340.     if ( averageLuck > 100 )
  341.         set averageLuck to 100
  342.     endif
  343.    
  344.     ; Never reduces
  345.     if ( averageLuck > myLuck )
  346.         PlayerREF.SetActorValue Luck averageLuck
  347.     endif
  348.  
  349.    
  350.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  351.     ; Base Health
  352.     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  353.     ; Health is based on Endurance
  354.     set myHealth to PlayerREF.getBaseAV Health
  355.     set baseHealth to ( myEndurance * 2 )
  356.     set plusHealth to ( 10 * myLevel )
  357.     set minimumHealth to ( baseHealth + plusHealth )
  358.  
  359.     ; Never reduces
  360.     if ( minimumHealth > myHealth )
  361.         PlayerREF.SetActorValue Health plusHealth
  362.     endif
  363.    
  364.    
  365. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement