Latest revision |
Your text |
Line 1: |
Line 1: |
− | Pieces of information (strings) storing player's (or game) progress, achievements and game stats. Used to identify if player performed some action (touched some trigger, killed monster, activated batmark, checked out monologue mark etc.).
| + | {{article unfinished}} |
| | | |
− | Example player infoportions array:
| + | Infoportions is an array of special tokens, stored with players and game. |
− | comment_sun // sun monologue (in the light of the sun i have no comfort...) was executed
| + | |
− | comment_rain // rain monologue was executed
| + | |
− | w1m3_crypt1button_p // button 1 was pressed in light crypt
| + | |
| | | |
− | Infoportions could be local or global, can have values attached. Local infoportions belongs to player/npc, while global belongs to game and being active on all players.
| + | They are used to handle game progress. |
− | | + | |
− | == Naming conventions ==
| + | |
− | | + | |
− | As all infoportions share same name space, some standarts of naming should be followed to avoid collisions.
| + | |
− | | + | |
− | * Inventory-related infoportions are prefixed by "inv_"
| + | |
− | * Level-related and level-interaction infoportions set by level designer are prefixed by the [[Blood Omnicide Locations | worldnum and mapnum]] they are targeted to (w1m1_, w1m4_ etc.)
| + | |
− | * Kain's eventual comments (snow, rain etc.) are prefixed by "comment_".
| + | |
− | * Global infoportions always prefixed by #
| + | |
− | | + | |
− | == Usage ==
| + | |
− | | + | |
− | For level designer, generic way to access infoportions is [[Trigger event]] and [[Pattern script]]. Trigger event allows to add new infoportions or values (in the form of counters). Pattern scripts allows to check for any infoportions (including gamecode-related, such as gamestats).
| + | |
− | | + | |
− | To make life easier, it is useful to name all infoportions using this rule:
| + | |
− | | + | |
− | <font size=4>'''''mapname''_''objectname''_''eventhappened'''''</font>
| + | |
− | | + | |
− | Typical mapnames:
| + | |
− | * w1m1
| + | |
− | * w1m2
| + | |
− | * etc
| + | |
− | | + | |
− | Typical objectnames:
| + | |
− | * button1
| + | |
− | * secretbutton
| + | |
− | * barkeep
| + | |
− | * brigands
| + | |
− | * etc.
| + | |
− | | + | |
− | Typical events:
| + | |
− | * '''k''' - killed
| + | |
− | * '''a''' - activated
| + | |
− | * '''p''' - pressed
| + | |
− | * '''o''' - opened
| + | |
− | * '''c''' - closed
| + | |
− | * etc.
| + | |
− | | + | |
− | Typical usage of infoportions for level design:
| + | |
− | * In some maps, there is two or moreentities representing same NPC (like barkeep in Ziegsturhl tavern), when one is killed, another ones should be removed too.
| + | |
− | * Open doors, activate stuff in another levels.
| + | |
− | * Spawn more enemies when kain kills someone.
| + | |
− | | + | |
− | == See also ==
| + | |
− | * [[Blood Omnicide Game stats]]
| + | |