XML:ONGS: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (fixed "the the")
(copy-edit/rewrite)
Line 1: Line 1:
{{XML_File_Header | type=ONGS | prev=ONCV | next=ONLD | name=Oni Game Settings }}
{{XML_File_Header | type=ONGS | prev=ONCV | next=ONLD | name=Oni Game Settings}}


__TOC__
__TOC__


==General information==
* ONGSgame_settings.oni is the only resource of this type, located in GameDataFolder\level0_Final.
* The XML on this page is compatible with OniSplit '''v0.9.61.0'''.


===general information===
==XML tags==
* ONGSgame_settings.oni is located in GameDataFolder\level0_Final
* The xml code on this page is compatible with onisplit '''v0.9.61.0'''
 
 
===XML tags===
{|class="wikitable" width="100%"
{|class="wikitable" width="100%"
| <MaxOverhealthFactor>
| <MaxOverhealthFactor>
| If this factor is 2 and your normal max health is 200 then character's max overhealth can be 400.
| If this factor is 2, and your normal max health is 200 HP, then the character's maximum overhealth is 400 HP.


If you use a bsl command to set values beyond max overhealth then the health drops very fast to that max overhealth value but not instantly.
If you use chr_set_health to set HP to a value beyond the maximum overhealth, then the health will quickly drop to the maximum overhealth value, but not instantly.
|-
|-
| <NormalHypoStrength>
| <NormalHypoStrength>
| This factor increases player's health based on his max normal health.
| This sets the strength of a hypo when used in a normal health range, using the player's maximum normal health as a base. For instance, if this value is 0.25 and the player's max health is 200 HP, then a hypo can restore 50 HP.
 
If this factor is 0.25 and player's max health is 200 then a hypo can restore 50 health points.


Btw, the regeneration speed for hypos is character specific. Look at ONCC's [[XML:ONCC#.3CInventoryConstants.3E|<HypoRegenerationRate>]].
The ''speed'' at which hypos regenerate health is character-specific; see ONCC's [[XML:ONCC#.3CInventoryConstants.3E|<HypoRegenerationRate>]].
|-
|-
| <OverhealthHypoStrength>
| <OverhealthHypoStrength>
| This factor increases player's health based on his max normal health, but max health must be already reached.
| This sets the strength of a hypo when used at maximum normal health, using the player's max normal health as a base. If this value is 1.0 and the player's max health is 200, then a hypo will restore 200 HP. But if the player's current health is 175, then the hypo will restore with a factor of 0.25 (<NormalHypoStrength>) until max health is reached, after which the rest of the hypo will heal with a factor of 1.0 (<OverhealthHypoStrength>).
 
If this factor is 1 and player's max health is 200 then a hypo can restore 200 health points.
 
If this factor is 1, player's max health is 200 and his current health is 175 then a hypo restores with factor 0.25 (<NormalHypoStrength>) until max health is reached. The rest of the hypo health with factor 1 (<OverhealthHypoStrength>).
|-
|-
| <OverhealthMinDamage>
| <OverhealthMinDamage>
| Hit points of an attack gets increased by at least of this factor.
| The lower end of the range of enhanced damage that the player will do when in overhealth. The value in ONGSgame_settings is 1.5, so damage done to enemies will be multiplied by this number when the player is just above normal max health.
|-
|-
| <OverhealthMaxDamage>
| <OverhealthMaxDamage>
| Hit points of an attack gets increased by at most of this factor.
| The upper end of the range of enhanced damage that the player will do when in overhealth. The value in ONGSgame_settings is 2.3, so damage done to enemies will be multiplied by this number when the player is at max overhealth, and damage will ramp down to <OverhealthMinDamage> as their health decreases to max normal health + 1.
|-
|-
| <UsedHealthElements>
| <UsedHealthElements>
| Determines now many values of <HealthPercent> and <HealthColor> are used.
| Tells Oni how many values of <HealthPercent> and <HealthColor> follow. These pairs of values determine the color of the health bar based on the player's current health; see next section for details.
|-
|-
| <HealthPercent>
| <HealthPercent>
| 1 means 100 % (float values)
| 1.0 means 100% of max normal health (float value).
|-
|-
| <HealthColor>
| <HealthColor>
| Red Green Blue
| Color value in RGB.
|-
|-
| <PowerupModels>
| <PowerupModels>
Line 52: Line 44:
|-
|-
| <PowerupGlowSizes>
| <PowerupGlowSizes>
| x and y size (float values)
| X and Y size of glow around powerups (float values).
|-
|-
| <Sounds>
| <Sounds>
| sounds for some events (fixed order?)
| Names of sounds to play for certain events (fixed order).
|-
|-
| <NoticeFactors>
| <NoticeFactors>
| on easy, normal, hard (?)
| Chance of AI noticing an incoming attack on Easy, Normal and Hard difficulties (ONGSgame_settings uses 0.7, 1.0, 1.4 respectively).
|-
|-
| <BlockChanceFactors>
| <BlockChanceFactors>
| on easy, normal, hard (only for AI)
| Chance of AI blocking an incoming attack on Easy, Normal and Hard difficulties (0.6, 1.0, 1.3).
|-
|-
| <DodgeFactors>
| <DodgeFactors>
| on easy, normal, hard (?)
| Chance of AI dodging an incoming attack on Easy, Normal and Hard difficulties (0.8, 1.0, 1.5).
|-
|-
| <WeaponAccuracyFactors>
| <WeaponAccuracyFactors>
| on easy, normal, hard (?); an additional factor that propably refers to <WeaponSkills> in ONCC files
| Inaccuracy multiplier combined with <WeaponSkills> from a character's ONCC on Easy, Normal and Hard difficulties (1.2, 1.0, 0.6).
|-
|-
| <EnemyHealthFactors>
| <EnemyHealthFactors>
| on easy, normal, hard
| Multiplier for enemy HP on Easy, Normal and Hard difficulties (1.0, 1.0, 1.25).
|-
|-
| <PlayerHealthFactors>
| <PlayerHealthFactors>
| on easy, normal, hard
| Multiplier for player HP on Easy, Normal and Hard difficulties (1.3, 1.0, 1.0).
|-
|-
| <UsedAutoPrompts>
| <UsedAutoPrompts>
| Determines how many <ONGSAutoPrompt> are used.
| Tells Oni how many <ONGSAutoPrompt>s follow.
|-
|-
| <ONGSAutoPrompt>
| <ONGSAutoPrompt>
| Level specific items only use one level number. <SubtitleName> contains the keyword of the SUBT file. The message becomes displayed automatically.
| Sub-tags:
<Notes>: Name of LSI/powerup/event which should trigger this onscreen prompt when the player stands near it.<br>
<FirstAutopromptLevel>: First level on which to show this prompt.<br>
<LastAutopromptLevel>: Last level on which to show this prompt.<br>
<SubtitleName>: Which item in [[SUBT]]messages to display as a prompt.
 
Level-specific items have a first/last range of a single level number. Other items have a large range for their autoprompt, like "invis" which prompts the player to pick it up all the way from Chapter 1 to 12. Prompts to perform actions like opening a door are also covered by a <ONGSAutoPrompt> tag.
|}
|}


==The health display meter==
Remember to update <UsedHealthElements> if you change the number of health indicator colors by adding a pair of <HealthPercent> and <HealthColor> values.


===detailed explanation of the ''health display meter''===
The modification will also affect:
Remember the <UsedHealthElements> when you edit health indicator colors. Increase it by 1 if you change value in an additional <HealthPercent> and <HealthColor>.
* The BSL command "ai2_showhealth = 1".
* Baba's regeneration (probably interacts with the <UseSpecialTint> PAR3 flag).
* Melee impact flashes which show the character's health status when hit (as for the "snap" particle files, they also use <UseSpecialTint>).


The modification will also change ...
The color of the health bar when the player is between <HealthPercent> values will be an interpolation of the <HealthColor> values. After health surpasses the highest <HealthPercent> value, the color remains the same.
* BSL command "ai2_showhealth = 1"
* Baba's regeneration (probably by <UseSpecialTint> particle flag)
* and melee impact flashes which show the character's health status when hit ("snap" particle files? they also use <UseSpecialTint>)


The color between health flags ('''<Float>''') is a mix.
'''Example mod'''
 
The color keeps the same when passing the last health flag.
 
 
'''example'''
         '''<UsedHealthElements>5</UsedHealthElements>'''
         '''<UsedHealthElements>5</UsedHealthElements>'''
[[Image:blue_health_bar_on_overpower_preview.png|right|thumb]]
[[Image:blue_health_bar_on_overpower_preview.png|right|thumb]]


         <HealthPercent>
         <HealthPercent>
Line 108: Line 101:
             '''<Float>1.5</Float>'''
             '''<Float>1.5</Float>'''
             ''[...]''
             ''[...]''


{| border=0 cellspacing=0 cellpadding=0 style="float:right" width="200"
{| border=0 cellspacing=0 cellpadding=0 style="float:right" width="200"

Revision as of 18:53, 23 March 2021

ONGS : Oni Game Settings
XML modding tips
  • See HERE to start learning about XML modding.
  • See HERE if you are searching for information on how to handle object coordinates.
  • See HERE for some typical modding errors and their causes.
XML.png
XML

ONCV << Other file types >> ONLD

switch to OBD page

General information

  • ONGSgame_settings.oni is the only resource of this type, located in GameDataFolder\level0_Final.
  • The XML on this page is compatible with OniSplit v0.9.61.0.

XML tags

<MaxOverhealthFactor> If this factor is 2, and your normal max health is 200 HP, then the character's maximum overhealth is 400 HP.

If you use chr_set_health to set HP to a value beyond the maximum overhealth, then the health will quickly drop to the maximum overhealth value, but not instantly.

<NormalHypoStrength> This sets the strength of a hypo when used in a normal health range, using the player's maximum normal health as a base. For instance, if this value is 0.25 and the player's max health is 200 HP, then a hypo can restore 50 HP.

The speed at which hypos regenerate health is character-specific; see ONCC's <HypoRegenerationRate>.

<OverhealthHypoStrength> This sets the strength of a hypo when used at maximum normal health, using the player's max normal health as a base. If this value is 1.0 and the player's max health is 200, then a hypo will restore 200 HP. But if the player's current health is 175, then the hypo will restore with a factor of 0.25 (<NormalHypoStrength>) until max health is reached, after which the rest of the hypo will heal with a factor of 1.0 (<OverhealthHypoStrength>).
<OverhealthMinDamage> The lower end of the range of enhanced damage that the player will do when in overhealth. The value in ONGSgame_settings is 1.5, so damage done to enemies will be multiplied by this number when the player is just above normal max health.
<OverhealthMaxDamage> The upper end of the range of enhanced damage that the player will do when in overhealth. The value in ONGSgame_settings is 2.3, so damage done to enemies will be multiplied by this number when the player is at max overhealth, and damage will ramp down to <OverhealthMinDamage> as their health decreases to max normal health + 1.
<UsedHealthElements> Tells Oni how many values of <HealthPercent> and <HealthColor> follow. These pairs of values determine the color of the health bar based on the player's current health; see next section for details.
<HealthPercent> 1.0 means 100% of max normal health (float value).
<HealthColor> Color value in RGB.
<PowerupModels> M3GMpowerup.oni
<PowerupGlowTextures> TXMPpowerup.oni
<PowerupGlowSizes> X and Y size of glow around powerups (float values).
<Sounds> Names of sounds to play for certain events (fixed order).
<NoticeFactors> Chance of AI noticing an incoming attack on Easy, Normal and Hard difficulties (ONGSgame_settings uses 0.7, 1.0, 1.4 respectively).
<BlockChanceFactors> Chance of AI blocking an incoming attack on Easy, Normal and Hard difficulties (0.6, 1.0, 1.3).
<DodgeFactors> Chance of AI dodging an incoming attack on Easy, Normal and Hard difficulties (0.8, 1.0, 1.5).
<WeaponAccuracyFactors> Inaccuracy multiplier combined with <WeaponSkills> from a character's ONCC on Easy, Normal and Hard difficulties (1.2, 1.0, 0.6).
<EnemyHealthFactors> Multiplier for enemy HP on Easy, Normal and Hard difficulties (1.0, 1.0, 1.25).
<PlayerHealthFactors> Multiplier for player HP on Easy, Normal and Hard difficulties (1.3, 1.0, 1.0).
<UsedAutoPrompts> Tells Oni how many <ONGSAutoPrompt>s follow.
<ONGSAutoPrompt> Sub-tags:

<Notes>: Name of LSI/powerup/event which should trigger this onscreen prompt when the player stands near it.
<FirstAutopromptLevel>: First level on which to show this prompt.
<LastAutopromptLevel>: Last level on which to show this prompt.
<SubtitleName>: Which item in SUBTmessages to display as a prompt.

Level-specific items have a first/last range of a single level number. Other items have a large range for their autoprompt, like "invis" which prompts the player to pick it up all the way from Chapter 1 to 12. Prompts to perform actions like opening a door are also covered by a <ONGSAutoPrompt> tag.

The health display meter

Remember to update <UsedHealthElements> if you change the number of health indicator colors by adding a pair of <HealthPercent> and <HealthColor> values.

The modification will also affect:

  • The BSL command "ai2_showhealth = 1".
  • Baba's regeneration (probably interacts with the <UseSpecialTint> PAR3 flag).
  • Melee impact flashes which show the character's health status when hit (as for the "snap" particle files, they also use <UseSpecialTint>).

The color of the health bar when the player is between <HealthPercent> values will be an interpolation of the <HealthColor> values. After health surpasses the highest <HealthPercent> value, the color remains the same.

Example mod

       <UsedHealthElements>5</UsedHealthElements>
Blue health bar on overpower preview.png
       <HealthPercent>
           <Float>0</Float>
           <Float>0.659999967</Float>
           <Float>0.979999959</Float>
           <Float>1</Float>
           <Float>1.5</Float>
           [...]
 
 
 
 
 
       <HealthColor>
           <Color>255 0 0</Color>
           <Color>255 255 0</Color>
           <Color>19 161 43</Color>
           <Color>0 255 0</Color>
           <Color>68 119 255</Color>
           [...]