| Line 15: |
Line 15: |
| | * '''LIST_SCOPE_MEMBERS''' X - Prints out all functions and variables available for the type X, to use when making level 3 feature scripts, [[Data Modding#Level 3 features|Read more here]]. | | * '''LIST_SCOPE_MEMBERS''' X - Prints out all functions and variables available for the type X, to use when making level 3 feature scripts, [[Data Modding#Level 3 features|Read more here]]. |
| | * '''GENERATE_LOCALIZATION''' X - Generates localization files based on the mod named X | | * '''GENERATE_LOCALIZATION''' X - Generates localization files based on the mod named X |
| | + | * '''CHECK_ADDON_MARKET''' X Y Z - Checks whether all markets are fulfilled by the add-on Z in a software type Y in mod X, which would otherwise make it impossible to sell the add-on to 100% of the market |
| | | | |
| | == In-game content == | | == In-game content == |
| | These are zip files of the software types, company types, name generators and personality types currently in the game: | | These are zip files of the software types, company types, name generators and personality types currently in the game: |
| | | | |
| − | [http://softwareinc.coredumping.com/wiki/Resources.zip Alpha 8.6.1 data - 23 KB] | + | [https://softwareinc.coredumping.com/wiki/Resources.zip Alpha 8.6.1 data - 23 KB] |
| | | | |
| − | [http://softwareinc.coredumping.com/wiki/Alpha9Data.zip Alpha 9.7.6 data - 35 KB] | + | [https://softwareinc.coredumping.com/wiki/Alpha9Data.zip Alpha 9.7.6 data - 35 KB] |
| | | | |
| − | [http://softwareinc.coredumping.com/wiki/Alpha10Data.zip Alpha 10.1.4 data - 23 KB] | + | [https://softwareinc.coredumping.com/wiki/Alpha10Data.zip Alpha 10.1.4 data - 23 KB] |
| | | | |
| − | [http://softwareinc.coredumping.com/wiki/Alpha11Data.zip Alpha 11.4.1 data - 22 KB] | + | [https://softwareinc.coredumping.com/wiki/Alpha11Data.zip Alpha 11.4.1 data - 22 KB] |
| | | | |
| − | [http://softwareinc.coredumping.com/wiki/Alpha117Data.zip Alpha 11.7.1 data - 22 KB] | + | [https://softwareinc.coredumping.com/wiki/Alpha117Data.zip Alpha 11.7.1 data - 22 KB] |
| | | | |
| − | [http://softwareinc.coredumping.com/wiki/Beta1Data.zip Beta 1.1.1 data - 34 KB] | + | [https://softwareinc.coredumping.com/wiki/Beta1Data.zip Beta 1.1.1 data - 34 KB] |
| | + | |
| | + | [https://softwareinc.coredumping.com/wiki/Beta13Data.zip Beta 1.3.19 data - 35 KB] |
| | + | |
| | + | [https://softwareinc.coredumping.com/wiki/Beta17Data.zip Beta 1.7.15 data - 35 KB] |
| | | | |
| | == Alpha 11 changes == | | == Alpha 11 changes == |
| Line 67: |
Line 72: |
| | |- | | |- |
| | |Category | | |Category |
| − | |How the field of the software will be referred to in articles, e.g. games are categorized as "Gaming" | + | |'''Deprecated as of Beta 1''' How the field of the software will be referred to in articles, e.g. games are categorized as "Gaming" |
| | |- | | |- |
| | |Categories | | |Categories |
| Line 340: |
Line 345: |
| | *SoftwareProduct '''Product''' | | *SoftwareProduct '''Product''' |
| | *uint '''NewCopies''' (How many new copies were added to stock, this is read-only) | | *uint '''NewCopies''' (How many new copies were added to stock, this is read-only) |
| | + | |
| | + | ==== Networking ==== |
| | + | Level 3 features can also use the RunType value to control which computer will execute the code. The value can be either of the following: |
| | + | * '''Local''', which means the script will only run on the computer for the player who owns the product (This is the default). Example: You want something to happen to the affected player's game, like launching a lawsuit or firing an employee. This needs to be done locally for the affected player, or someone else might be sued for no reason. |
| | + | * '''Host''', which means the script will only run on the current hosting player's computer. Example: You are only calling methods which are synchronized between players, like adding bugs or money. These can be run locally, but any online synchronized methods will be faster to run for the host machine. If you are unsure, using Local will be fine, but if you run a synchronized method using the '''Everyone''' RunType, the method will get called multiple times. E.g. if you are adding money to a company, then that money will be added again to the same company for each player connected. |
| | + | * '''Everyone''', which means the script will run for every player connected. Example: You are directly changing aspects of the product (like the price) or a company, by altering the value of local variables, which will not be synchronized by default, so you want the script to run for all players in the game, so everyone is on the same page. |
| | + | |
| | + | |
| | + | Note that the RunType value is only valid for the EndOfDay, OnRelease and NewCopies entry points. AfterSales is only ever executed for the host and WorkItemChange is only ever executed for the local player. |
| | | | |
| | ==== Script example ==== | | ==== Script example ==== |
| Line 395: |
Line 409: |
| | | | |
| | === Add-ons === | | === Add-ons === |
| − | Add-ons are defined in the software root table. Add-ons are either software or hardware based, which depends on the categories that support it. Software categories that uses a specific add-on should all either be hardware or software based. Add-ons can be limited to certain categories of the main software type. | + | Add-ons are defined in the software root table as an '''AddOns''' node with a list of add-on tables. Add-ons are either software or hardware based, which depends on the categories that support it. Software categories that uses a specific add-on should all either be hardware or software based. Add-ons can be limited to certain categories of the main software type. |
| | | | |
| | Hardware based add-ons are peripherals and function differently than software add-ons in that other companies can make them for each other's hardware and a single customer can buy the same peripheral several times. | | Hardware based add-ons are peripherals and function differently than software add-ons in that other companies can make them for each other's hardware and a single customer can buy the same peripheral several times. |
| Line 420: |
Line 434: |
| | |- | | |- |
| | |Forced | | |Forced |
| − | |Whether you have to develop this add-on when develop the main product, e.g. joysticks for consoles. Only valid for peripheral add-ons | + | |Whether you have to develop this add-on when develop the main product, e.g. joysticks for consoles. Only valid for peripheral add-ons. This should be a number between 0 and 1 that controls how big of an impact the quality of an add-on has on the main product's reception. |
| | |- | | |- |
| | |PerUser | | |PerUser |
| Line 432: |
Line 446: |
| | |- | | |- |
| | |Features | | |Features |
| − | |A list of features, as with the main software type. Each feature also additionally has an optional '''MaxFactor''' number that works like a multiplier for the player, e.g. setting it to 3, means the player can multiply this features effect from 1 to 3. If MaxFactor is used, you can also use '''AmountScript''' to write a SIPL script that formats the number, e.g. '''x + " bunnies"''', will write "3 bunnies" if the player picks 3 as the factor. '''LocalizePlural('Employee', x)''' will use the plural enabled localization key based on the factor, e.g. 3 would write "3 employees". and '''Switch(x, clampBool, localizeBool, 'one', 'two', 'three')''' will pick one of the strings based on the factor value, e.g. 4 would be 'three' if clampBool is true and 'one' if it is false. Finally features can optionally define DependsOn, which is a feature in the main product that needs to be present to use this feature in an add-on. | + | |A list of features, as with the main software type. Each feature also additionally has an optional '''MaxFactor''' number that works like a multiplier for the player, e.g. setting it to 3, means the player can multiply this features effect from 1 to 3. If MaxFactor is used, you can also use '''AmountScript''' to write a SIPL script that formats the number, e.g. '''x + " bunnies"''', will write "3 bunnies" if the player picks 3 as the factor. '''LocalizePlural('Employee', x)''' will use the plural enabled localization key based on the factor, e.g. 3 would write "3 employees". and '''Switch(x, clampBool, localizeBool, 'one', 'two', 'three')''' will pick one of the strings based on the factor value, e.g. 4 would be 'three' if clampBool is true and 'one' if it is false. Finally features can optionally define '''DependsOn''', which is a feature in the main product that needs to be present to use this feature in an add-on. |
| | |- | | |- |
| | |Manufacturing | | |Manufacturing |
| Line 438: |
Line 452: |
| | |- | | |- |
| | |NameGenerator | | |NameGenerator |
| − | |The [[Data Modding#Name generators|name generator]] to use for simulated companies or for when the player clicks the name button in the design document. | + | |The [[Data Modding#Name generators|name generator]] to use for simulated companies or for when the player clicks the name button in the add-on design document. |
| | |- | | |- |
| | |} | | |} |
| Line 470: |
Line 484: |
| | |- | | |- |
| | |BuiltInThumbnail | | |BuiltInThumbnail |
| − | |'''Optional''' thumbnail to fall back on in case the game fails loading your png file. Defaults to Unknown, but can be Camera, Console, Fingerprint, Gyroscope, Harddrive, Joystick, LCD, Microchip, PCB, Phone, Plastic, PlasticCase, Speaker, Thermostat, Touch, USB or Vibration. | + | |'''Optional''' thumbnail to fall back on in case the game fails loading your png file. Defaults to Unknown, but can be Camera, Console, Fingerprint, Gyroscope, Harddrive, Joystick, LCD, Microchip, PCB, Phone, Plastic, PlasticCase, Speaker, Thermostat, Touch, USB, Battery, Antenna, LED or Vibration. |
| | |- | | |- |
| | |DependsOn | | |DependsOn |
| Line 495: |
Line 509: |
| | |- | | |- |
| | |} | | |} |
| | + | |
| | + | ==== Hardware Designs ==== |
| | + | You can add a '''Design''' record to reference one or more hardware designs to be used for products of this type. You either specify a single hardware design, a list of designs, a list of designs with an unlock year or anything in between, e.g. '''Design [ "CellPhone"; [ "SmartPhone" ; 2000 ] ]''' |
| | + | |
| | + | You can also limit which MeshObjects can be used in a HardwareDesign based on which features the product has. Just add one or more '''FeatureBinding''' records, containing a list formatted as '''[HardwareDesign, MeshObject, Feature]'''. |
| | + | |
| | + | Check out more here: [[ Hardware Design ]] |
| | | | |
| | ==== Example ==== | | ==== Example ==== |
| Line 571: |
Line 592: |
| | ] | | ] |
| | '''FinalTime''' <span style="color:blue">2</span> | | '''FinalTime''' <span style="color:blue">2</span> |
| | + | '''Design''' [ <span style="color:blue">"CellPhone"</span>; [ <span style="color:blue">"SmartPhone"</span> ; <span style="color:blue">2000</span> ] ] |
| | + | '''FeatureBinding''' [ <span style="color:blue">"CellPhone"</span>; <span style="color:blue">"Antenna"</span>; <span style="color:blue">"Networking"</span> ] |
| | } | | } |
| | | | |
| Line 632: |
Line 655: |
| | |Types | | |Types |
| | |The types of products the company will release and how much effort they take(Chance). 1 means they can only work one product of that software type at any given time, 0.25 means they would be able to work on 4 of it at a time. You can define a category for each type, otherwise a random will be chosen from the categories available from the software type. You can also add the record '''Force True''' which will make the game force a product out immediately when the game starts, if possible, which is currently used to make sure there is an OS available on day 1. | | |The types of products the company will release and how much effort they take(Chance). 1 means they can only work one product of that software type at any given time, 0.25 means they would be able to work on 4 of it at a time. You can define a category for each type, otherwise a random will be chosen from the categories available from the software type. You can also add the record '''Force True''' which will make the game force a product out immediately when the game starts, if possible, which is currently used to make sure there is an OS available on day 1. |
| | + | |- |
| | + | |Addons |
| | + | |Optional list of tables with '''Software''', '''Addon''' and '''Chance''' records, which is this companies chance of developing the specified '''hardware''' add-on of the software type for another company's '''hardware''' product. Companies will by default create add-ons for their own products. |
| | |- | | |- |
| | |NameGen | | |NameGen |
| Line 657: |
Line 683: |
| | Software "3D Editor" | | Software "3D Editor" |
| | Chance 1 | | Chance 1 |
| | + | } |
| | + | ] |
| | + | Addons |
| | + | [ |
| | + | { |
| | + | Software "Operating System" |
| | + | Addon "Joystick" |
| | + | Chance 0.05 |
| | } | | } |
| | ] | | ] |
| Line 699: |
Line 733: |
| | Personality values include: | | Personality values include: |
| | {|class="wikitable" | | {|class="wikitable" |
| − | |Personality
| |
| − | |This is the root table
| |
| − | |-
| |
| | |Name | | |Name |
| | |The personality's name as it appears in the game. | | |The personality's name as it appears in the game. |
| | |- | | |- |
| − | |WorkLearn | + | |Traits |
| − | |Between -1 and 1, where -1 is hard working and 1 is easy learner. | + | |Should be either a good and a bad trait or a neutral trait. See traits below. E.g. [ WalkItOff ; SlowEater ] or [ Detached ] |
| − | |-
| |
| − | |Social
| |
| − | |Between -1 and 1, where -1 is independent and 1 is social.
| |
| − | |-
| |
| − | |LazyStress
| |
| − | |Between -1 and 1, where -1 is lazy and 1 is stressed.
| |
| | |- | | |- |
| | |Relationships | | |Relationships |
| Line 720: |
Line 745: |
| | | | |
| | The Incompatibilities list should contain a list of personality pairs that are incompatible, meaning they cannot exist in the same person. | | The Incompatibilities list should contain a list of personality pairs that are incompatible, meaning they cannot exist in the same person. |
| | + | |
| | + | === Traits === |
| | + | * '''Good traits''': FastLearner, Independant, BigBrain, Humble, Capacitor, WalkItOff, ThisIsFine, Skyscraper, Sunshine, RGBThumb |
| | + | * '''Bad traits''': Stressed, Hypochondriac, SlowEater, NervousBladder, BumLeg, Forgetful, Cupholder, NeatFreak, SilentButDeadly, WalkInstead, UnderTheWeather, OldSole |
| | + | * '''Neutral traits''': NightOwl, BornLeader, FirmwareInc, SuperFocus, Unphased, JustTheFlu, Detached, Watch |
| | + | * '''Traits that also work for the founder''': FastLearner, BigBrain, RGBThumb, BornLeader, FirmwareInc, SuperFocus, BumLeg, Forgetful, Cupholder, Watch, SilentButDeadly, WalkInstead, OldSole, Capacitor, ThisIsFine, Sunshine, Skyscraper, Detached, NeatFreak, UnderTheWeather |
| | | | |
| | === Example === | | === Example === |
| Line 728: |
Line 759: |
| | { | | { |
| | Name TestPersonality | | Name TestPersonality |
| − | WorkLearn 1 | + | Traits [ WalkItOff ; SlowEater ] |
| − | Social -1
| |
| − | LazyStress 0.3
| |
| | Relationships | | Relationships |
| | { | | { |
| Line 739: |
Line 768: |
| | { | | { |
| | Name TestPersonality2 | | Name TestPersonality2 |
| − | WorkLearn -0.5 | + | Traits [ Detached ] |
| − | Social 0
| |
| − | LazyStress 0.25
| |
| | } | | } |
| | ] | | ] |