设为首页收藏本站同能贴吧 切换语言 繁体中文
开启辅助访问 切换到窄版
扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 115|回复: 0

[转载发布] Actor Generator

[复制链接]
累计送礼:
0 个
累计收礼:
1 个
  • TA的每日心情
    开心
    2026-7-12 04:10
  • 签到天数: 209 天

    连续签到: 2 天

    [LV.7]常住居民III

    9071

    主题

    864

    回帖

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    7
    卡币
    58883
    OK点
    16
    推广点
    0
    同能卷
    50
    积分
    68848

    灌水之王

    发表于 2026-8-2 13:36:33 | 显示全部楼层 |阅读模式
    Actor Generator
    by: Rinobi

    Create randomly generator actors with a great deal of customization.
    This script includes gender, personality, and stat settings.

    See script header for details, and screenshots for example use.​



    Spoiler: Change Log

    • [05/19/2017] 1.00 Public Release
    • [02/23/2020] 1.10 Added missing kernel methods
    • [02/24/2020] 1.20 Bug Fixes
    • [02/29/2020] 1.30 Bug Fixes
    Spoiler: Features

    • A great deal of customization, allowing specific or broad randomization.
    • Randomization performed through notetags on project startup and in-game script calls.
    • Nicknames and Descriptions used as 'personality' titles and descriptions.
    • Three types of actor stat variation for further differentiation.
    • ABSOLUTELY NO HASHES INCLUDED!
    Spoiler: Screenshots
    Spoiler: Script
                    Code:       
    1. module RINOBI module ActGen # DO NOT MODIFY
    2. #==============================================================================
    3. # # Actor Generator
    4. # -----------------------------------------------------------------------------
    5. # 1.0 [04/23/2017] Completed
    6. # 1.1 [02/23/2020] Added missing kernel methods
    7. # 1.2 [02/24/2020] Bug Fixes
    8. # 1.3 [02/29/2020] Bug Fixes
    9. #-
    10. # Randomly generates an actor.
    11. #==============================================================================
    12. # # TERMS OF USE
    13. #------------------------------------------------------------------------------
    14. # 1. Preserve this header.
    15. # 2. Do not re-upload this script.
    16. # 3. Do not claim this script as your own work.
    17. # 4. Do not release modified versions of this script.
    18. # 5. Contact me for commercial use.
    19. #==============================================================================
    20. # # SETTINGS
    21. # -----------------------------------------------------------------------------
    22. # Adjust the below settings to your liking.
    23. #-
    24.     #======================================================================
    25.     # >> Actor Generation
    26.     # ---------------------------------------------------------------------
    27.     # All settings can be generated at once, or individual notetags may be
    28.     # used for fine tuning.
    29.     #-
    30.     # <GENERATE ALL>            | <generate_all>
    31.     # <GENERATE GENDER>         | <generate_gender>
    32.     # <GENERATE GENDER GRAPHICS>| <generate_gender_graphics>
    33.     # <GENERATE NAME>           | <generate_name>
    34.     # <GENERATE PERSONALITY>    | <generate_personality>
    35.     # <GENERATE CLASS>          | <generate_class>
    36.     # <GENERATE INITIAL LEVEL>  | <generate_initial_level>
    37.     # <GENERATE MAXIMUM LEVEL>  | <generate_maximum_level>
    38.     # <GENERATE SKILL LEARNING> | <generate_skill_learning>
    39.     # <GENERATE PARAMETERS>     | <generate_parameters>
    40.     # <GENERATE PARAM RATE>     | <generate_param_rate>
    41.     # <GENERATE PARAM BASE>     | <generate_param_base>
    42.     # <GENERATE PARAM PLUS>     | <generate_param_plus>
    43.     #-
    44.     # $game_actors[actor_id].generate_all
    45.     # $game_actors[actor_id].generate_gender
    46.     # $game_actors[actor_id].generate_gender_graphics
    47.     # $game_actors[actor_id].generate_name
    48.     # $game_actors[actor_id].generate_personality
    49.     # $game_actors[actor_id].generate_class
    50.     # $game_actors[actor_id].generate_initial_level
    51.     # $game_actors[actor_id].generate_maximum_level
    52.     # $game_actors[actor_id].generate_skill_learning
    53.     # $game_actors[actor_id].generate_parameters
    54.     # $game_actors[actor_id].generate_param_rate
    55.     # $game_actors[actor_id].generate_param_base
    56.     # $game_actors[actor_id].generate_param_plus
    57.     #======================================================================
    58.     # >> Disable Switches
    59.     # ---------------------------------------------------------------------
    60.     # Prevents certain generation elements from processing while using the
    61.     # Generate All notetag. These settings will not prevent other notages
    62.     # from functioning normally.
    63.     #-
    64.     # Note Tags:
    65.     #
    66.     # <DISABLE GENDER>          | <disable_gender>
    67.     # <DISABLE GENDER GRAPHICS> | <disable_gender_graphics>
    68.     # <DISABLE NAME>            | <disable_name>
    69.     # <DISABLE PERSONALITY>     | <disable_personality>
    70.     # <DISABLE CLASS>           | <disable_class>
    71.     # <DISABLE INITIAL LEVEL>   | <disable_initial_level>
    72.     # <DISABLE MAXIMUM LEVEL>   | <disable_maximum_level>
    73.     # <DISABLE SKILL LEARNING>  | <disable_skill_learning>
    74.     # <DISABLE PARAMETERS>      | <disable_parameters>
    75.     # <DISABLE PARAM RATE>      | <disable_param_rate>
    76.     # <DISABLE PARAM BASE>      | <disable_param_base>
    77.     # <DISABLE PARAM PLUS>      | <disable_param_plus>
    78.     #-
    79.     # Script Calls:
    80.     #
    81.     # $game_actors[actor_id].disable_genders = true
    82.     # $game_actors[actor_id].disable_g_graphics = true
    83.     # $game_actors[actor_id].disable_names = true
    84.     # $game_actors[actor_id].disable_personalities = true
    85.     # $game_actors[actor_id].disable_classes = true
    86.     # $game_actors[actor_id].disable_initial_levels = true
    87.     # $game_actors[actor_id].disable_maximum_levels = true
    88.     # $game_actors[actor_id].disable_skill_learning = true
    89.     # $game_actors[actor_id].disable_parameters = true
    90.     # $game_actors[actor_id].disable_param_rate = true
    91.     # $game_actors[actor_id].disable_param_base = true
    92.     # $game_actors[actor_id].disable_param_plus = true
    93.     #======================================================================
    94.       Disable_Genders        = false  # Gender will not be chosen.
    95.       Disable_G_Graphics     = false  # Gender Graphics will not be chosen.
    96.       Disable_Names          = false  # Name Generation will not process.
    97.       Disable_Personalities  = false  # A personnally will not be generated.
    98.       Disable_Classes        = false  # A class will not be set randomly.
    99.       Disable_Initial_Levels = false  # Use database initial level.
    100.       Disable_Maximum_Levels = false  # Use database maximum level.
    101.       Disable_Skill_Learning = false  # Only class skills learned on level up.
    102.       Disable_Parameters     = false  # All Stat modifers will not be applied.
    103.       Disable_Param_Rate     = false  # Rate stat modifiers will not be applied.
    104.       Disable_Param_Base     = false  # Base stat modifiers will not be applied.
    105.       Disable_Param_Plus     = false  # Plus stat modifiers will not be applied.
    106.    
    107.     #======================================================================
    108.     # >> Default Gender
    109.     # ---------------------------------------------------------------------
    110.     # The gender all actors will receive before any settings are applied.
    111.     # Can be one of three strings: "female", "male", "bigender" or a number
    112.     # between 0 and 2 representing the genders respectively.
    113.     #-
    114.     # <SET GENDER: X> or <set_gender: X>
    115.     # $game_actors[actor_id].set_gender(X)
    116.     #======================================================================
    117.       Default_Gender = "BiGender"
    118.     #======================================================================
    119.     # >> Bigender Chance
    120.     # ---------------------------------------------------------------------
    121.     # The percent chance that an actor will be generated as a bigender.
    122.     # These actors use ambigous names and bigender graphics. Set to 0.00
    123.     # to disable this setting.
    124.     #-
    125.     # <SET BIGENDER CHANCE: X> | <set_bigender_chance: X>
    126.     # $game_actors[actor_id].set_bigender_chance(X)
    127.     #======================================================================
    128.       Bigender_Chance = 5.0
    129.     #======================================================================
    130.     # >> Gender Graphics
    131.     # ---------------------------------------------------------------------
    132.     # Actors will be given random graphics based on their gender setting.
    133.     # Character and face graphics are defined in sets from left to right.
    134.     #-
    135.     # ["Character Name", Character Index, "Face Name", Face Index]
    136.     #======================================================================
    137.       Gender_Graphics = [
    138.         [ # Female
    139.           # Character | Face
    140.           ["Actor1",1,"Actor1",1], ["Actor1",3,"Actor1",3],
    141.           ["Actor1",5,"Actor1",5], ["Actor2",1,"Actor2",1],
    142.           ["Actor2",3,"Actor2",3], ["Actor2",5,"Actor2",5],
    143.           ["Actor2",7,"Actor2",7], ["Actor3",1,"Actor3",1],
    144.           ["Actor3",3,"Actor3",3], ["Actor3",5,"Actor3",5],
    145.           ["Actor3",7,"Actor3",7], ["Actor4",1,"Actor4",1],
    146.           ["Actor4",3,"Actor4",3], ["Actor4",5,"Actor4",5],
    147.           ["Actor5",1,"Actor5",1], ["Actor5",5,"Actor5",5],
    148.           ["Actor5",7,"Actor5",7], ["People1",1,"People1",1],
    149.           ["People1",5,"People1",5], ["People1",7,"People1",7],
    150.           ["People2",1,"People2",1], ["People2",5,"People2",5],
    151.           ["People2",7,"People2",7], ["People3",0,"People3",0],
    152.           ["People3",2,"People3",2], ["People3",7,"People3",7],
    153.           ["People4",1,"People4",1], ["People4",3,"People4",3],
    154.         ],
    155.         [ # Male
    156.           # Character | Face
    157.           ["Actor1",0,"Actor1",0], ["Actor1",2,"Actor1",2],
    158.           ["Actor1",4,"Actor1",4], ["Actor1",6,"Actor1",6],
    159.           ["Actor2",2,"Actor2",2], ["Actor2",6,"Actor2",6],
    160.           ["Actor3",0,"Actor3",0], ["Actor3",2,"Actor3",2],
    161.           ["Actor3",6,"Actor3",6], ["Actor4",0,"Actor4",0],
    162.           ["Actor4",2,"Actor4",2], ["Actor4",6,"Actor4",6],
    163.           ["Actor5",2,"Actor5",2], ["Actor5",3,"Actor5",3],
    164.           ["Evil",0,"Evil",0], ["Evil",1,"Evil",1],
    165.           ["Evil",5,"Evil",5], ["Evil",6,"Evil",6],
    166.           ["People1",0,"People1",0], ["People1",2,"People1",2],
    167.           ["People1",4,"People1",4], ["People1",6,"People1",6],
    168.           ["People2",0,"People2",0], ["People2",2,"People2",2],
    169.           ["People2",3,"People2",3], ["People2",4,"People2",4],
    170.           ["People3",1,"People3",1], ["People3",3,"People3",3],
    171.           ["People3",4,"People3",4], ["People4",0,"People4",0],
    172.           ["People4",2,"People4",2], ["People4",4,"People4",4],
    173.           ["People4",5,"People4",5], ["People4",6,"People4",6],
    174.           ["People4",7,"People4",7],
    175.         ],
    176.         [ # Bigender
    177.           # Character | Face
    178.           ["Actor2",0,"Actor2",0], ["Actor2",4,"Actor2",4],
    179.           ["Actor3",4,"Actor3",4], ["Actor4",4,"Actor4",4],
    180.           ["Actor4",7,"Actor4",7], ["Actor5",0,"Actor5",0],
    181.           ["Actor5",3,"Actor5",3], ["Actor5",4,"Actor5",4],
    182.           ["Actor5",6,"Actor5",6], ["Evil",2,"Evil",2],
    183.           ["Evil",3,"Evil",3], ["Evil",4,"Evil",4],
    184.           ["Evil",7,"Evil",7], ["People1",3,"People1",3],
    185.           ["People2",5,"People2",5], ["People2",6,"People2",6],
    186.           ["People3",5,"People3",5],
    187.         ],
    188.       ] # Gender Graphics
    189.       
    190.     #======================================================================
    191.     # >> Name Dictionary
    192.     # ---------------------------------------------------------------------
    193.     # The total selection of names based on gender. Ambigous names are also
    194.     # avaliable to male and female actors.
    195.     #======================================================================
    196.       Names = [
    197.         [ # Feminine
    198.         "Ainsley", "Amy", "Amilia", "Anabelle", "Andra",
    199.         "Aretha", "Ariana", "Ashley", "Bernadine", "Braidy",
    200.         "Brenda", "Candy", "Casey", "Cathryn", "Chelsie",
    201.         "Cherie", "Cordelia", "Corine", "Dakota", "Daniella",
    202.         "Davena", "Deanna", "Delice", "Dianna", "Dianne",
    203.         "Dorothy", "Edna", "Elaina", "Elizabeth", "Ella",
    204.         "Emma", "Evelyn", "Freda", "Hilda", "Hollie",
    205.         "Georgia", "Ginger", "Isabell", "Isidora", "Jade",
    206.         "Jazmine", "Jennifer", "Joella", "Joy", "Julianne",
    207.         "Kacie", "Kalie", "Kalla", "Kristeen", "Krystle",
    208.         "Kyla", "Laura", "Laurelle", "Leila", "Lela",
    209.         "Lexie", "Lindsie", "Linnaea", "London", "Lorena",
    210.         "Louise", "Lucia", "Lydia", "Lynn", "Madelaine",
    211.         "Margaret", "Marissa", "Matilda", "Maybelline", "Monna",
    212.         "Moriah", "Myranda", "Nichole", "Pauleen", "Permelia",
    213.         "Queen", "Rachel", "Rebecca", "Rexana", "Rochelle",
    214.         "Rosanne", "Rose", "Rosemary", "Rowena", "Roxanne",
    215.         "Sabrina", "Sara", "Serina", "Serrena", "Sheila",
    216.         "Sherry", "Silvia", "Sophia", "Stacy", "Susan",
    217.         "Sydnie", "Tabitha", "Tammara", "Tara", "Vivyan",
    218.         "Xanthia", "Zenia",
    219.         ],
    220.         [ # Masculine
    221.         "Ace", "Aiden", "Allen", "Archer", "Aylmer",
    222.         "Baxter", "Blake", "Brandon", "Brant", "Bret",
    223.         "Brian", "Brodie", "Bryce", "Buddy", "Burt",
    224.         "Calvin", "Colbert", "Cooper", "Cory", "Crispin",
    225.         "Dalton", "Daren", "Darrell", "Delmar", "Derrick",
    226.         "Darwin", "David", "Dean", "Devin", "Donald",
    227.         "Edwin", "Ernest", "Evander", "Gabriel", "Garret",
    228.         "Garry", "Gorden", "Harlan", "Harold", "Harris",
    229.         "Hubert", "Hyrum", "Ivor", "Jarvis", "Jaymes",
    230.         "Jeffry", "Jerred", "Jocelyn", "Jolynon", "Joshua",
    231.         "Kenrick", "Kody", "Lawrence", "Lee", "Leon",
    232.         "Leyton", "Lloyd", "Lynton", "Marcus", "Mark",
    233.         "Marlo", "Martin", "Maurice", "Maverick", "Maxwell",
    234.         "Mordikai", "Morris", "Moss", "Nathan", "Nigel",
    235.         "Norbert", "Odin", "Oscar", "Oswin", "Otto",
    236.         "Price", "Quinn", "Richard", "Rick", "Robert",
    237.         "Roswell", "Roy", "Rudolph", "Russel", "Seth",
    238.         "Shannon", "Slade", "Sonny", "Tanner", "Terence",
    239.         "Terrell", "Troy", "Trueman", "Tylor", "Waldo",
    240.         "Wallace", "Warrick", "Weldon", "William", "Wright",
    241.         "Zatch",
    242.         ],
    243.         [ # Ambigous
    244.         "Alan", "Ambrose", "Angel", "Ash", "Bell",
    245.         "Blair", "Braelyn", "Bronte", "Brynne", "Cameron",
    246.         "Candace", "Casey", "Cass", "Cassidy", "Chante",
    247.         "Cherice", "Clive", "Cohen", "Corynn", "Dayton",
    248.         "Deanne", "Deeann", "Deloris", "Derby", "Devan",
    249.         "Dyson", "Eden", "Elaine", "Ellery", "Eloise",
    250.         "Emerald", "Errol", "Estelle", "Eunice", "Florence",
    251.         "Francis", "Franklyn", "Gae", "Garnette", "Gene",
    252.         "Grey", "Gypsy", "Hearther", "Hunter", "Inez",
    253.         "Jaiden", "Jessie", "Jewel", "Jordan", "Judith",
    254.         "Kevyn", "Kiley", "Kim", "Kinley", "Kinsley",
    255.         "Kyle", "Lacy", "Laverne", "Leone", "Lesley",
    256.         "Linsey", "Lowell", "Lyle", "Macey", "Marion",
    257.         "Marjorie", "Melville", "Morgan", "Moses", "Narelle",
    258.         "Nevaeh", "Noel", "Odell", "Olive", "Ora",
    259.         "Orval", "Patrice", "Rain", "Raven", "Regan",
    260.         "Rene", "Rian", "Sage", "Skye", "Skylar",
    261.         "Sorrel", "Star", "Sylvanus", "Tallulah", "Tatum",
    262.         "Taylor", "Terry", "Vere", "Yazmin",
    263.         ],
    264.       ] # Names
    265.       
    266.     #======================================================================
    267.     # >> Personalities.
    268.     # ---------------------------------------------------------------------
    269.     # This setting affects nicknames and actor descriptions. It's meant to
    270.     # give gennerated actors a little more diversity and... personality.
    271.     #-
    272.     # <SET PERSONALITY: X> or <set_personality: X>
    273.     # $game_actors[actor_id].set_personality(X)
    274.     #
    275.     # Where X is a number representing the corrisponding personality below.
    276.     #======================================================================
    277.       Personalities = [ # <= DO NOT MODIFY
    278.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    279.         # >>> 1 - Dutiful
    280.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    281.         ["Dutiful",
    282.         "Interested in security and a peaceful living.",
    283.         "Extremely thorough, responsible, and dependable."],
    284.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    285.         # >>> 2 - Technical
    286.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    287.         ["Technical",
    288.         "Interested in how and why things work.",
    289.         "Has excellent skills with mechanical things."],
    290.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    291.         # >>> 3 - Nurturer
    292.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    293.         ["Nurturer",
    294.         "Can always be depended on to follow through.",
    295.         "Puts the needs of others above their own needs."],
    296.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    297.         # >>> 4 - Artistic
    298.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    299.         ["Artistic",
    300.         "Does not like conflict, but is likely to do",
    301.         "things which may generate conflict."],
    302.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    303.         # >>> 5 - Protector
    304.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    305.         ["Protector",
    306.         "Quietly forceful, original and sensitive.",
    307.         "Tends to stick to things until they are done."],
    308.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    309.         # >>> 6 - Idealist
    310.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    311.         ["Idealist",
    312.         "Quiet, reflective, and idealistic.",
    313.         "Interested in serving humanity."],
    314.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    315.         # >>> 7 - Deductive
    316.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    317.         ["Deductive",
    318.         "Analytical, and determined. Has an exceptional",
    319.         "ability to turn theories into plans of action."],
    320.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    321.         # >>> 8 - Thinker
    322.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    323.         ["Thinker",
    324.         "Logical, original, and a creative thinker.",
    325.         "Becomes very excited about theories and ideas."],
    326.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    327.         # >>> 9 - Achiever
    328.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    329.         ["Achiever",
    330.         "Friendly, adaptable, and action-oriented.",
    331.         "Generally focuses on getting immediate results."],
    332.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    333.         # >>> 10 - Guardian
    334.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    335.         ["Guardian",
    336.         "Practical, traditional, and well organized.",
    337.         "Interested in obvious pratical applications."],
    338.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    339.         # >>> 11 - Performer
    340.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    341.         ["Performer",
    342.         "People-oriented and fun-loving. Makes things",
    343.         "more fun for others by enjoying of the moment."],
    344.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    345.         # >>> 12 - Caregiver
    346.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    347.         ["Caregiver",
    348.         "Warm-hearted, conscientious, and usually popular.",
    349.         "Tends to put the needs of others above own needs."],
    350.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    351.         # >>> 13 - Inspirer
    352.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    353.         ["Inspirer",
    354.         "Enthusiastic, idealistic, and creative.",
    355.         "Able to do almost anything of interest."],
    356.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    357.         # >>> 14 - Giver
    358.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    359.         ["Giver",
    360.         "Sensitive with outstanding people skills.",
    361.         "Has a real concern for how others think and feel."],
    362.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    363.         # >>> 15 - Visionary
    364.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    365.         ["Visionary",
    366.         "Creative, resourceful, and intellectually quick.",
    367.         "Good at a broad range of things."],
    368.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    369.         # >>> 16 - Executive
    370.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    371.         ["Executive",
    372.         "Assertive and outspoken, driven to lead.",
    373.         "Understands difficult organizationnal problems."]
    374.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    375.       ] # Personalities
    376.       
    377.     #======================================================================
    378.     # >> Max Possible Level
    379.     # ---------------------------------------------------------------------
    380.     # Mostly inntended for compatibility, this setting affects parameter
    381.     # related calculations. Set it to the max possible level for actors.
    382.     #======================================================================
    383.       Max_Possible_Level = 99
    384.       
    385.     #======================================================================
    386.     # >> Class Selection
    387.     # ---------------------------------------------------------------------
    388.     # The classes avaliable for actor generation.
    389.     # Add any muber of class IDs to the array.
    390.     #-
    391.     # <SET CLASS SELECTION: X,X,X> or <set_class_selection: X,X,X>
    392.     # $game_actors[actor_id].set_class_selection([X,X,X])
    393.     #======================================================================
    394.       Class_Selection = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    395.       
    396.     #======================================================================
    397.     # >> Level Range
    398.     # ---------------------------------------------------------------------
    399.     # The initial and maximum level a generated actor will have.
    400.     #-
    401.     # <SET INITIAL LEVEL: (X..X)> | <set_initial_level: (X..X)>
    402.     # <SET MAXIMUM LEVEL: (X..X)> | <set_maximum_level: (X..X)>
    403.     # $game_actors[actor_id].set_initial_level(X..X)
    404.     # $game_actors[actor_id].set_maximum_level(X..X)
    405.     #======================================================================
    406.       Initial_Level_Range = (1..5 ) # Starting level range.
    407.       Maximum_Level_Range = (50..Max_Possible_Level) # Ending level range.
    408.       
    409.     #======================================================================
    410.     # >> Skill Learnings
    411.     # ---------------------------------------------------------------------
    412.     # These are the skills an actor will learn upon increasing their level.
    413.     # The list below is seperated by classes ordered in the way they appear
    414.     # appear within your database after the first class. Class 0 affects
    415.     # all actors.
    416.     #======================================================================
    417.       Skill_Learnings = [ # <= DO NOT MODIFY
    418.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    419.         [ # >>> Class 0 - All Actors
    420.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    421.           [ # Tier 1
    422.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    423.           # Level Range | Skill IDs
    424.           (1..10), [20, 21, 23]
    425.           ], # Tier 1
    426.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    427.           [ # Tier 2
    428.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    429.           # Level Range | Skill IDs
    430.           (11..20), [8, 9, 10, 19, 24]
    431.           ], # Tier 2
    432.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    433.           [ # Tier 3
    434.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    435.           # Level Range | Skill IDs
    436.           (21..30), [5, 11, 12, 13, 14, 15]
    437.           ], # Tier 3
    438.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    439.           [ # Tier 4
    440.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    441.           # Level Range | Skill IDs
    442.           (31..40), [16, 17, 18, 22]
    443.           ], # Tier 4
    444.         ],# Soldier
    445.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    446.         [ # >>> Class 1 - Soldier
    447.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    448.           [ # Tier 1
    449.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    450.           # Level Range | Skill IDs
    451.           (1..5), [80,85,90,95,100,105,110]
    452.           ], # Tier 1
    453.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    454.           [ # Tier 2
    455.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    456.           # Level Range | Skill IDs
    457.           (6..10), [81,86,91,96,101,106,111]
    458.           ], # Tier 2
    459.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    460.           [ # Tier 3
    461.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    462.           # Level Range | Skill IDs
    463.           (11..15), [82,87,92,97,102,107,112]
    464.           ], # Tier 3
    465.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    466.           [ # Tier 4
    467.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    468.           # Level Range | Skill IDs
    469.           (16..20), [83,88,93,98,103,108,113]
    470.           ], # Tier 4
    471.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    472.           [ # Tier 5
    473.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    474.           # Level Range | Skill IDs
    475.           (21..25), [84,89,94,99,104,109,114]
    476.           ], # Tier 5
    477.         ],# Soldier
    478.         #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    479.         [ # >>> Class 2 - Monk
    480.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    481.           [ # Tier 1
    482.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    483.           # Level Range | Skill IDs
    484.           (1..5), [80,85,90,95,100,105,110]
    485.           ], # Tier 1
    486.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    487.           [ # Tier 2
    488.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    489.           # Level Range | Skill IDs
    490.           (6..10), [81,86,91,96,101,106,111]
    491.           ], # Tier 2
    492.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    493.           [ # Tier 3
    494.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    495.           # Level Range | Skill IDs
    496.           (11..15), [82,87,92,97,102,107,112]
    497.           ], # Tier 3
    498.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    499.           [ # Tier 4
    500.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    501.           # Level Range | Skill IDs
    502.           (16..20), [83,88,93,98,103,108,113]
    503.           ], # Tier 4
    504.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    505.           [ # Tier 5
    506.           #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    507.           # Level Range | Skill IDs
    508.           (21..25), [84,89,94,99,104,109,114]
    509.           ], # Tier 5
    510.         ],# Monk
    511.       ]
    512.       
    513.     #======================================================================
    514.     # >> Parameter Rate
    515.     # ---------------------------------------------------------------------
    516.     # Multiplies all parameters within the below range. Each parameter is
    517.     # affected seperately by a value within the range.
    518.     #======================================================================
    519.       Parameter_Rate = (0.80..1.25)
    520.       
    521.     #======================================================================
    522.     # >> Parameter Base
    523.     # ---------------------------------------------------------------------
    524.     # Adds a flat value within the below range to the specified parameter.
    525.     #======================================================================
    526.       Parameter_Base = [
    527.         (-113..226), # MHP Parameter
    528.           (-23..46), # MMP Parameter
    529.             (-4..8), # ATK Parameter
    530.             (-4..8), # DEF Parameter
    531.             (-4..8), # MAT Parameter
    532.             (-4..8), # MDF Parameter
    533.            (-8..16), # AGI Parameter
    534.            (-8..16), # LUK Parameter
    535.       ] # <= DO DOT MODIFY
    536.       
    537.     #======================================================================
    538.     # >> Parameter Plus
    539.     # ---------------------------------------------------------------------
    540.     # Set two value ranges per parameter, minimum and maximum bonus values.
    541.     # The set values create a distribution range based on the actor's
    542.     # current level.
    543.     #======================================================================
    544.       Parameter_Plus = [
    545.         [(-113..113), (-1338..1338)], # MHP Parameter
    546.         [  (-23..23),   (-268..268)], # MMP Parameter
    547.         [    (-4..4),     (-35..35)], # ATK Parameter
    548.         [    (-4..4),     (-35..35)], # DEF Parameter
    549.         [    (-4..4),     (-35..35)], # MAT Parameter
    550.         [    (-4..4),     (-35..35)], # MDF Parameter
    551.         [    (-8..8),     (-69..69)], # AGI Parameter
    552.         [    (-8..8),     (-69..69)], # LUK Parameter
    553.       ] # <= DO DOT MODIFY
    554. #==============================================================================
    555. #                             END OF SETTINGS
    556. #==============================================================================
    557. Set_Gender = /<(?:SET GENDER|set_gender):[ ](.*)>/i
    558. Set_BiGender = /<(?:SET BIGENDER|set_bigender):[ ](\d+)>/i
    559. Set_Personality = /<(?:SET PERSONALITY|set_personality):[ ](\d+)>/i
    560. Set_Class_Selection = /<(?:SET CLASS SELECTION|set_class_selection):[ ](.*)>/i
    561. Set_Initial_Level = /<(?:SET INITIAL LEVEL|set_initial_level):[ ](.*)>/i
    562. Set_Maximum_Level = /<(?:SET MAXIMUM LEVEL|set_maximum_level):[ ](.*)>/i
    563. Generate_All = /<(?:GENERATE ALL|generate_all)>/i
    564. Generate_Gender = /<(?:GENERATE GENDER|generate_gender)>/i
    565. Generate_G_Graphics = /<(?:GENERATE GENDER Graphics|generate_gender_graphics)>/i
    566. Generate_Name = /<(?:GENERATE NAME|generate_name)>/i
    567. Generate_Personality = /<(?:GENERATE PERSONALITY|generate_personality)>/i
    568. Generate_Class = /<(?:GENERATE CLASS|generate_class)>/i
    569. Generate_Initial_Level = /<(?:GENERATE INITIAL LEVEL|generate_initial_level)>/i
    570. Generate_Maximum_Level = /<(?:GENERATE MAXIMUM LEVEL|generate_maximum_level)>/i
    571. Generate_Skill_Learn = /<(?:GENERATE SKILL LEARNING|generate_skill_learning)>/i
    572. Generate_Parameters = /<(?:GENERATE PARAMETERS|generate_parameters)>/i
    573. Generate_Param_Rate = /<(?:GENERATE PARAM RATE|generate_param_rate)>/i
    574. Generate_Param_Base = /<(?:GENERATE PARAM BASE|generate_param_base)>/i
    575. Generate_Param_Plus = /<(?:GENERATE PARAM PLUS|generate_param_plus)>/i
    576. Diswitch_Gender = /<(?:DISABLE GENDER|disable_gender)>/i
    577. Diswitch_G_Graphics = /<(?:DISABLE GENDER GRAPHICS|disable_gender_graphics)>/i
    578. Diswitch_Name = /<(?:DISABLE NAME|disable_name)>/i
    579. Diswitch_Personality = /<(?:DISABLE PERSONALITY|disable_personality)>/i
    580. Diswitch_Class = /<(?:DISABLE CLASS|disable_class)>/i
    581. Diswitch_Initial_Level = /<(?:DISABLE INITIAL LEVEL|disable_initial_level)>/i
    582. Diswitch_Maximum_Level = /<(?:DISABLE MAXIMUM LEVEL|disable_maximum_level)>/i
    583. Diswitch_Skill_Learn = /<(?:DISABLE SKILL LEARNING|disable_skill_learning)>/i
    584. Diswitch_Parameters = /<(?:DISABLE PARAMETERS|disable_parameters)>/i
    585. Diswitch_Param_Rate = /<(?:DISABLE PARAM RATE|disable_param_rate)>/i
    586. Diswitch_Param_Base = /<(?:DISABLE PARAM BASE|disable_param_base)>/i
    587. Diswitch_Param_Plus = /<(?:DISABLE PARAM PLUS|disable_param_plus)>/i
    588. Random_Seed = Random.new
    589. end end # DO NOT MODIFY
    590. #==============================================================================
    591. # ** IMPORT SCRIPT
    592. #------------------------------------------------------------------------------
    593. $imported = {} if $imported.nil?
    594. $imported[:RIN_ACTGEN] = true
    595. #==============================================================================
    596. # ** KERNEL
    597. #------------------------------------------------------------------------------
    598. # A module defining the methods that can be referred to by all classes.
    599. # Object classes are included in this module. The methods explained on the
    600. # Built-in Functions page are defined in this module.
    601. # Object class methods are defined in this module. This ensures compatibility
    602. # with top-level method redefinition.
    603. #==============================================================================
    604. module Kernel
    605.   #--------------------------------------------------------------------------
    606.   # * RINOBI Randomization Seed
    607.   #--------------------------------------------------------------------------
    608.   def random; RINOBI::ActGen::Random_Seed end
    609.   #--------------------------------------------------------------------------
    610.   # * Distribute
    611.   #--------------------------------------------------------------------------
    612.   def distribute(begin_value, end_value, array_size, return_ints = false)
    613.     diff = 1.0 * (end_value - begin_value)
    614.     n = [array_size-1, 1].max
    615.     (0..(array_size-1)).map do |i|
    616.       v = begin_value + i * diff / n
    617.       return_ints ? v.round : v
    618.     end
    619.   end
    620. end
    621. #==============================================================================
    622. # ** Game_BattlerBase
    623. #------------------------------------------------------------------------------
    624. #  This base class handles battlers. It mainly contains methods for calculating
    625. # parameters. It is used as a super class of the Game_Battler class.
    626. #==============================================================================
    627. class Game_BattlerBase
    628.   #--------------------------------------------------------------------------
    629.   # * Access Method by Parameter Abbreviations
    630.   #--------------------------------------------------------------------------
    631.   def rhp;  @rparams[0];    end             # RHP   Rate of Hit Points
    632.   def rmp;  @rparams[1];    end             # RMP   Rate of Magic Points
    633.   def rtk;  @rparams[2];    end             # RTK   Rate of Attack Power
    634.   def ref;  @rparams[3];    end             # REF   Rate of Defense Power
    635.   def rak;  @rparams[4];    end             # RAT   Rate of Magic Attack Power
    636.   def rdf;  @rparams[5];    end             # RDF   Rate of Magic Defense Power
    637.   def rgi;  @rparams[6];    end             # RGI   Rate of Agility
    638.   def ruk;  @rparams[7];    end             # RUK   Rate of Luck
    639.   #--------------------------------------------------------------------------
    640.   def bhp;  @bparams[0];    end             # BHP   Base Hit Points
    641.   def bmp;  @bparams[1];    end             # BMP   Base Magic Points
    642.   def btk;  @bparams[2];    end             # BTK   Base Attack Power
    643.   def bef;  @bparams[3];    end             # BEF   Base Defense Power
    644.   def bak;  @bparams[4];    end             # BAT   Base Magic Attack Power
    645.   def bdf;  @bparams[5];    end             # BDF   Base Magic Defense Power
    646.   def bgi;  @bparams[6];    end             # BGI   Base Agility
    647.   def buk;  @bparams[7];    end             # BUK   Base Luck
    648.   #--------------------------------------------------------------------------
    649.   def php;  @pparams[0];    end             # PHP   Bonus Hit Points
    650.   def pmp;  @pparams[1];    end             # PMP   Bonus Magic Points
    651.   def ptk;  @pparams[2];    end             # PTK   Bonus Attack Power
    652.   def pef;  @pparams[3];    end             # PEF   Bonus Defense Power
    653.   def pak;  @pparams[4];    end             # PAT   Bonus Magic Attack Power
    654.   def pdf;  @pparams[5];    end             # PDF   Bonus Magic Defense Power
    655.   def pgi;  @pparams[6];    end             # PGI   Bonus Agility
    656.   def puk;  @pparams[7];    end             # PUK   Bonus Luck
    657.   #--------------------------------------------------------------------------
    658.   # * Public Instance Variables
    659.   #--------------------------------------------------------------------------
    660.   attr_accessor :rparams
    661.   attr_accessor :bparams
    662.   attr_accessor :pparams
    663.   attr_accessor :bigender_chance
    664.   attr_accessor :gender_graphics
    665.   attr_accessor :names
    666.   attr_accessor :personalities
    667.   attr_accessor :max_possible_level
    668.   attr_accessor :class_selection
    669.   attr_accessor :initial_level_range
    670.   attr_accessor :maximum_level_range
    671.   attr_accessor :base_skill_learnings
    672.   attr_accessor :disable_genders
    673.   attr_accessor :disable_g_graphics
    674.   attr_accessor :disable_names
    675.   attr_accessor :disable_personalities
    676.   attr_accessor :disable_classes
    677.   attr_accessor :disable_initial_levels
    678.   attr_accessor :disable_maximum_levels
    679.   attr_accessor :disable_skill_learning
    680.   attr_accessor :disable_parameters
    681.   attr_accessor :disable_param_rate
    682.   attr_accessor :disable_param_base
    683.   attr_accessor :disable_param_plus
    684.   attr_accessor :parameter_rates
    685.   attr_accessor :parameter_bases
    686.   attr_accessor :parameter_pluses
    687.   #--------------------------------------------------------------------------
    688.   # * Alias Method: Object Initialization
    689.   #--------------------------------------------------------------------------
    690.   alias :rinactgen_initialize :initialize
    691.   def initialize
    692.     rinactgen_initialize
    693.     generate_default_variables
    694.     generate_default_parameters
    695.   end
    696.   #--------------------------------------------------------------------------
    697.   # * Name Method: Generate Default Variables
    698.   #--------------------------------------------------------------------------
    699.   def generate_default_variables
    700.     @bigender_chance = RINOBI::ActGen::Bigender_Chance
    701.     @gender_graphics = RINOBI::ActGen::Gender_Graphics.compact
    702.     @names = RINOBI::ActGen::Names.compact
    703.     @personalities = RINOBI::ActGen::Personalities.compact
    704.     @max_possible_level = RINOBI::ActGen::Max_Possible_Level
    705.     @class_selection = RINOBI::ActGen::Class_Selection.compact
    706.     @initial_level_range = RINOBI::ActGen::Initial_Level_Range
    707.     @maximum_level_range = RINOBI::ActGen::Maximum_Level_Range
    708.     @base_skill_learnings = RINOBI::ActGen::Skill_Learnings.compact
    709.     @disable_genders = RINOBI::ActGen::Disable_Genders
    710.     @disable_g_graphics = RINOBI::ActGen::Disable_G_Graphics
    711.     @disable_names = RINOBI::ActGen::Disable_Names
    712.     @disable_personalities = RINOBI::ActGen::Disable_Personalities
    713.     @disable_classes = RINOBI::ActGen::Disable_Classes
    714.     @disable_initial_levels = RINOBI::ActGen::Disable_Initial_Levels
    715.     @disable_maximum_levels = RINOBI::ActGen::Disable_Maximum_Levels
    716.     @disable_skill_learning = RINOBI::ActGen::Disable_Skill_Learning
    717.     @disable_parameters = RINOBI::ActGen::Disable_Parameters
    718.     @disable_param_rate = RINOBI::ActGen::Disable_Param_Rate
    719.     @disable_param_base = RINOBI::ActGen::Disable_Param_Base
    720.     @disable_param_plus = RINOBI::ActGen::Disable_Param_Plus
    721.     @parameter_rates = RINOBI::ActGen::Parameter_Rate
    722.     @parameter_bases = RINOBI::ActGen::Parameter_Base.compact
    723.     @parameter_pluses = RINOBI::ActGen::Parameter_Plus.compact
    724.   end
    725.   #--------------------------------------------------------------------------
    726.   # * Name Method: Generate Parameters
    727.   #--------------------------------------------------------------------------
    728.   def generate_default_parameters
    729.     generate_default_param_rate
    730.     generate_default_param_base
    731.     generate_default_param_plus
    732.   end
    733.   #--------------------------------------------------------------------------
    734.   # * Name Method: Generate Parameter Rate
    735.   #--------------------------------------------------------------------------
    736.   def generate_default_param_rate
    737.     @rparams = Array.new(8, 1.00)
    738.   end
    739.   #--------------------------------------------------------------------------
    740.   # * Name Method: Generate Parameter Base
    741.   #--------------------------------------------------------------------------
    742.   def generate_default_param_base
    743.     @bparams = Array.new(8, 0)
    744.   end
    745.   #--------------------------------------------------------------------------
    746.   # * Name Method: Generate Parameter Plus
    747.   #--------------------------------------------------------------------------
    748.   def generate_default_param_plus
    749.     @pparams = Array.new(8){|param_id| Array.new(max_possible_level, 0)}
    750.   end
    751. end
    752. #==============================================================================
    753. # ** Game_Actor
    754. #------------------------------------------------------------------------------
    755. #  This class handles actors. It is used within the Game_Actors class
    756. # ($game_actors) and is also referenced from the Game_Party class ($game_party).
    757. #==============================================================================
    758. class Game_Actor < Game_Battler
    759.   #--------------------------------------------------------------------------
    760.   # * Public Instance Variables
    761.   #--------------------------------------------------------------------------
    762.   attr_accessor :gender
    763.   attr_accessor :skill_learnings
    764.   #--------------------------------------------------------------------------
    765.   # * Alias Method: Setup
    766.   #--------------------------------------------------------------------------
    767.   alias :rinactgen_setup :setup
    768.   def setup(actor_id)
    769.     @skill_learnings = []
    770.     rinactgen_setup(actor_id)
    771.     set_gender(RINOBI::ActGen::Default_Gender)
    772.     generate_notetag_settings
    773.     generate_default_values
    774.     recover_all
    775.   end
    776.   #--------------------------------------------------------------------------
    777.   # * Alias Method: Initialize Skills
    778.   #--------------------------------------------------------------------------
    779.   alias :rinactgen_init_skills :init_skills
    780.   def init_skills
    781.     rinactgen_init_skills
    782.     return unless base_skill_learnings
    783.     skill_learnings.each do |learning|
    784.       learn_skill(learning.skill_id) if learning.level <= @level
    785.     end
    786.   end
    787.   #--------------------------------------------------------------------------
    788.   # * Alias Method: Level Up
    789.   #--------------------------------------------------------------------------
    790.   alias :rinactgen_level_up :level_up
    791.   def level_up
    792.     rinactgen_level_up
    793.     return unless skill_learnings
    794.     skill_learnings.each do |learning|
    795.       learn_skill(learning.skill_id) if learning.level == @level
    796.     end
    797.   end
    798.   #--------------------------------------------------------------------------
    799.   # * Alias Method: Get Base Value of Parameter
    800.   #--------------------------------------------------------------------------
    801.   alias :rinactgen_param_base :param_base
    802.   def param_base(param_id)
    803.     value = rinactgen_param_base(param_id)
    804.     value += @bparams[param_id]
    805.     value += @pparams[param_id][@level]
    806.     value *= @rparams[param_id]
    807.     value.round
    808.   end
    809.   #--------------------------------------------------------------------------
    810.   # * New Method: Generate Default Values
    811.   #--------------------------------------------------------------------------
    812.   def generate_notetag_settings
    813.     actor.note.split(/[\r\n]+/).each do |line|
    814.     case line
    815.     when RINOBI::ActGen::Set_Gender             then set_gender($1)
    816.     when RINOBI::ActGen::Set_BiGender           then set_bigender($1.to_f)
    817.     when RINOBI::ActGen::Set_Personality        then set_personality($1)
    818.     when RINOBI::ActGen::Set_Class_Selection    then set_class_selection($1)
    819.     when RINOBI::ActGen::Set_Initial_Level      then set_initial_level($1)
    820.     when RINOBI::ActGen::Set_Maximum_Level      then set_maximum_level($1)
    821.     when RINOBI::ActGen::Diswitch_Gender        then @disable_genders = true
    822.     when RINOBI::ActGen::Diswitch_G_Graphics    then @disable_g_graphics = true
    823.     when RINOBI::ActGen::Diswitch_Name          then @disable_names = true
    824.     when RINOBI::ActGen::Diswitch_Personality   then @disable_personalities = true
    825.     when RINOBI::ActGen::Diswitch_Class         then @disable_classes = true
    826.     when RINOBI::ActGen::Diswitch_Initial_Level then @disable_initial_levels = true
    827.     when RINOBI::ActGen::Diswitch_Maximum_Level then @disable_maximum_levels = true
    828.     when RINOBI::ActGen::Diswitch_Skill_Learn   then @disable_skill_learning = true
    829.     when RINOBI::ActGen::Diswitch_Parameters    then @disable_parameters = true
    830.     when RINOBI::ActGen::Diswitch_Param_Rate    then @disable_param_rate = true
    831.     when RINOBI::ActGen::Diswitch_Param_Base    then @disable_param_base = true
    832.     when RINOBI::ActGen::Diswitch_Param_Plus    then @disable_param_plus = true
    833.     end end
    834.   end
    835.   #--------------------------------------------------------------------------
    836.   # * New Method: Generate Default Values
    837.   #--------------------------------------------------------------------------
    838.   def generate_default_values
    839.     actor.note.split(/[\r\n]+/).each do |line|
    840.     case line
    841.     when RINOBI::ActGen::Generate_All           then generate_all
    842.     when RINOBI::ActGen::Generate_Gender        then generate_gender
    843.     when RINOBI::ActGen::Generate_G_Graphics    then generate_g_graphics
    844.     when RINOBI::ActGen::Generate_Name          then generate_name
    845.     when RINOBI::ActGen::Generate_Personality   then generate_personality
    846.     when RINOBI::ActGen::Generate_Class         then generate_class
    847.     when RINOBI::ActGen::Generate_Initial_Level then generate_initial_level
    848.     when RINOBI::ActGen::Generate_Maximum_Level then generate_maximum_level
    849.     when RINOBI::ActGen::Generate_Skill_Learn   then generate_skill_learning(@class_id)
    850.     when RINOBI::ActGen::Generate_Parameters    then generate_parameters
    851.     when RINOBI::ActGen::Generate_Param_Rate    then generate_param_rate
    852.     when RINOBI::ActGen::Generate_Param_Base    then generate_param_base
    853.     when RINOBI::ActGen::Generate_Param_Plus    then generate_param_plus
    854.     end end
    855.   end
    856.   #--------------------------------------------------------------------------
    857.   # * New Method: Add Learning
    858.   #--------------------------------------------------------------------------
    859.   def add_skill_learning(skill_id, level)
    860.     learning = RPG::Class::Learning.new
    861.     learning.skill_id = skill_id
    862.     learning.level = level
    863.     skill_learnings.push(learning)
    864.   end
    865.   #--------------------------------------------------------------------------
    866.   # * New Method: Remove Learning
    867.   #--------------------------------------------------------------------------
    868.   def remove_skill_learning(skill_id)
    869.     skill_learnings.reject!{|learning| learning.skill_id == skill_id}
    870.   end
    871.   #--------------------------------------------------------------------------
    872.   # * New Method: Set Gender
    873.   #--------------------------------------------------------------------------
    874.   def set_gender(setting = nil)
    875.     return @gender = 0 if setting.downcase == "female"
    876.     return @gender = 1 if setting.downcase == "male"
    877.     return @gender = 2 if setting.downcase == "bigender"
    878.     return @gender = [[setting.to_i, 0].max, 3].min
    879.   end
    880.   #--------------------------------------------------------------------------
    881.   # * New Method: Set BiGender
    882.   #--------------------------------------------------------------------------
    883.   def set_bigender(setting = bigender_chance)
    884.     @bigender_chance = setting
    885.   end
    886.   #--------------------------------------------------------------------------
    887.   # * New Method: Set Personality
    888.   #--------------------------------------------------------------------------
    889.   def set_personality(setting)
    890.     setting = @personalities[setting.to_i] if setting.is_a?(String)
    891.     setting = @personalities[setting] if setting.is_a?(Integer)
    892.     @personality = setting
    893.     @nickname = @personality[0]
    894.     actor.description = @personality[1] + "\n" + @personality[2]
    895.   end
    896.   #--------------------------------------------------------------------------
    897.   # * New Method: Set Class Selection
    898.   #--------------------------------------------------------------------------
    899.   def set_class_selection(setting)
    900.     setting = setting.split(/,/).collect!{|n| n.to_i} if setting.is_a?(String)
    901.     @class_selection = setting
    902.   end
    903.   #--------------------------------------------------------------------------
    904.   # * New Method: Set Initial Level Range
    905.   #--------------------------------------------------------------------------
    906.   def set_initial_level(setting)
    907.     @initial_level_range = setting.is_a?(String) ? eval(setting) : setting
    908.   end
    909.   #--------------------------------------------------------------------------
    910.   # * New Method: Set Maximum Level Range
    911.   #--------------------------------------------------------------------------
    912.   def set_maximum_level(setting)
    913.     @maximum_level_range = setting.is_a?(String) ? eval(setting) : setting
    914.   end
    915.   #--------------------------------------------------------------------------
    916.   # * New Method: Generate Actor
    917.   #--------------------------------------------------------------------------
    918.   def generate_all
    919.     generate_gender unless disable_genders
    920.     generate_g_graphics unless disable_g_graphics
    921.     generate_name(@gender) unless disable_names
    922.     generate_personality unless disable_personalities
    923.     generate_class unless disable_classes
    924.     generate_level
    925.     generate_skill_learning(@class_id) unless disable_skill_learning
    926.     generate_parameters unless disable_parameters
    927.   end
    928.   #--------------------------------------------------------------------------
    929.   # * New Method: Generate Gender Graphics
    930.   #--------------------------------------------------------------------------
    931.   def generate_g_graphics
    932.     gender_array = gender_graphics[@gender].sample
    933.     @character_name = gender_array[0]
    934.     @character_index = gender_array[1]
    935.     @face_name = gender_array[2]
    936.     @face_index = gender_array[3]
    937.   end
    938.   #--------------------------------------------------------------------------
    939.   # * New Method: Generate Name
    940.   #--------------------------------------------------------------------------
    941.   def generate_name(gender = @gender)
    942.     @name = (names[gender] + names[2]).sample
    943.   end
    944.   #--------------------------------------------------------------------------
    945.   # * New Method: Generate Personality
    946.   #--------------------------------------------------------------------------
    947.   def generate_personality
    948.     set_personality(personalities.sample)
    949.   end
    950.   #--------------------------------------------------------------------------
    951.   # * New Method: Generate Class
    952.   #--------------------------------------------------------------------------
    953.   def generate_class
    954.     @class_id = class_selection.sample
    955.     change_class(@class_id, true)
    956.   end
    957.   #--------------------------------------------------------------------------
    958.   # * New Method: Generate Level
    959.   #--------------------------------------------------------------------------
    960.   def generate_level
    961.     generate_initial_level unless @disable_initial_levels
    962.     generate_maximum_level unless @disable_maximum_levels
    963.   end
    964.   #--------------------------------------------------------------------------
    965.   # * New Method: Generate Initial Level
    966.   #--------------------------------------------------------------------------
    967.   def generate_initial_level(mean = 3, buffer = 10)
    968.     change_level(random.rand(initial_level_range), false)
    969.   end
    970.   #--------------------------------------------------------------------------
    971.   # * New Method: Generate Maximum Level
    972.   #--------------------------------------------------------------------------
    973.   def generate_maximum_level
    974.     actor.max_level = random.rand(maximum_level_range)
    975.   end
    976.   #--------------------------------------------------------------------------
    977.   # * New Method: Setup Skill Learnings
    978.   #--------------------------------------------------------------------------
    979.   def generate_skill_learning(class_id)
    980.     learnings = base_skill_learnings[0]
    981.     learnings.push(*base_skill_learnings[class_id])
    982.     learnings.compact.each do |tiers|
    983.       add_skill_learning(tiers[1].sample, random.rand(tiers[0]))
    984.     end
    985.   end
    986.   #--------------------------------------------------------------------------
    987.   # * New Method: Generate Gender
    988.   #--------------------------------------------------------------------------
    989.   def generate_gender
    990.     @gender = rand(1) # Female | Male | Hermaphrodite
    991.     @gender = 2 if rand < bigender_chance * 0.01
    992.   end
    993.   #--------------------------------------------------------------------------
    994.   # * New Method: Generate Parameters
    995.   #--------------------------------------------------------------------------
    996.   def generate_parameters
    997.     generate_param_rate unless disable_param_rate
    998.     generate_param_base unless disable_param_base
    999.     generate_param_plus unless disable_param_plus
    1000.   end
    1001.   #--------------------------------------------------------------------------
    1002.   # * New Method: Generate Parameter Rate
    1003.   #--------------------------------------------------------------------------
    1004.   def generate_param_rate
    1005.     @rparams = Array.new(8){random.rand(parameter_rates)}
    1006.   end
    1007.   #--------------------------------------------------------------------------
    1008.   # * New Method: Generate Parameter Rate
    1009.   #--------------------------------------------------------------------------
    1010.   def generate_param_base
    1011.     @bparams = Array.new(8){|param_id| random.rand(parameter_bases[param_id])}
    1012.   end
    1013.   #--------------------------------------------------------------------------
    1014.   # * New Method: Generate Parameter Plus
    1015.   #--------------------------------------------------------------------------
    1016.   def generate_param_plus
    1017.     @pparams = Array.new(8) do |param_id|
    1018.       min = random.rand(parameter_pluses[param_id][0])
    1019.       max = random.rand(parameter_pluses[param_id][1])
    1020.       distribute(min, max, 99, true)
    1021.     end
    1022.   end
    1023. end # Game_Actor
    复制代码

    Spoiler: Downloads

    本贴来自国际rpgmaker官方论坛作者:Rinobi处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/actor-generator.78836/

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    简体中文
    繁體中文
    English(英语)
    日本語(日语)
    Deutsch(德语)
    Русский язык(俄语)
    بالعربية(阿拉伯语)
    Türkçe(土耳其语)
    Português(葡萄牙语)
    ภาษาไทย(泰国语)
    한어(朝鲜语/韩语)
    Français(法语)
    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2026-8-17 11:40 , Processed in 0.149884 second(s), 52 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表