Jump to content

XML:BINA/OBJC/CHAR: Difference between revisions

m
copy edit; hopefully I did not screw up the description of AlarmGroups, as I'm not sure I understand it
mNo edit summary
m (copy edit; hopefully I did not screw up the description of AlarmGroups, as I'm not sure I understand it)
Line 1: Line 1:
{{XML_OBJC_Header | type=CHAR | prev=WEAP | next=CMBT | name=Character }}
{{XML_OBJC_Header | type=CHAR | prev=WEAP | next=CMBT | name=Character }}


'''general information'''
==General information==
* The xml code on this page is based on onisplit '''v0.9.61.0'''
* The XML code on this page is based on OniSplit '''v0.9.61.0'''
* '''BINACJBOCharacter.oni''' is level specific. (It can be found in AE/AEInstaller/vanilla/level'''X'''_Final.dat)
* '''BINACJBOCharacter.oni''' is level specific (it can be found in AE/AEInstaller/vanilla/level'''X'''_Final.dat).
* An alternative is [[XML:AISA|AISA]].
* An alternative method for creating characters is [[XML:AISA|AISA]].
* All original characters can be seen [http://ssg.oni2.net/subfold/charas/charas.htm HERE.] (The lists include used ONCC, character's BSL name, health, team and BSL function.)
* All original characters can be seen [http://ssg.oni2.net/subfold/charas/charas.htm HERE]. (The lists include the ONCC name, character's BSL name, health, team and attached BSL event function names.)




Line 113: Line 113:
|valign=top| <CHAR Id="3860">
|valign=top| <CHAR Id="3860">
|valign=top| integer
|valign=top| integer
| Id doesn't matter. --  For [[XML:ONLV|level import]] use <CHAR>.
| ID doesn't matter. --  For [[XML:ONLV|level import]] use <CHAR>.
|-
|-
| <Header>
| <Header>
Line 125: Line 125:
|valign=top| <Position>
|valign=top| <Position>
|valign=top| float x3
|valign=top| float x3
| character is spawned at this xyz-position
| character is spawned at this XYZ position
|-
|-
|valign=top| <Rotation>
|valign=top| <Rotation>
|valign=top| float x3
|valign=top| float x3
| character is spawned with this xyz-rotation, only y is useful
| character is spawned with this XYZ rotation; only Y (facing) is useful
|-
|-
|valign=top| <OSD>
|valign=top| <OSD>
Line 138: Line 138:
|valign=top| flag
|valign=top| flag
| determines some special properties
| determines some special properties
: IsPlayer (1) (if you have two of them then delete one and spawn the other one at same time, if not made simultaneously camera glitch can appear)
: IsPlayer (1) (if you have two of them, and delete one and then spawn the other, if not done simultaneously a camera glitch can appear)
: RandomCostume (2) (flag belongs to [[XML:ONCV|ONCV]])
: RandomCostume (2) (flag belongs to [[XML:ONCV|ONCV]])
: NotInitiallyPresent (4)
: NotInitiallyPresent (4)
Line 144: Line 144:
: CanSpawnMultiple (16) (needs WasSpawned)
: CanSpawnMultiple (16) (needs WasSpawned)
: WasSpawned (32) (...)
: WasSpawned (32) (...)
: Unkillable (64) (character won't loss more life points if it reaches 1, same as BSL command "chr_unkillable")
: Unkillable (64) (character won't lose more HP if it reaches 1; same as BSL command "chr_unkillable")
: InfiniteAmmo (128) (Raiden: "You got enough ?" Snake points to his head. "Infinite ammo...")
: InfiniteAmmo (128) (Raiden: "You got enough?" Snake points to his head. "Infinite ammo...")
: Omniscient (256) (useless?; tested ideas: doesn't unlock moves for player)
: Omniscient (256) (AI will not forget having seen an enemy)
: HasLSI (512) (this character drops an level specific item like truck keys in [[CHAPTER_14_._DAWN_OF_THE_CHRYSALIS|level 19]])
: HasLSI (512) (this character drops a [[LSI|level specific item]])
: Boss (1024) (used for boss mode fights. makes the AI ignore this character unless there is nobody else around)
: Boss (1024) (makes the AI prefer to attack the player; used for Muro in final battle if Griffin's group is present)
: UpgradeDifficulty (2048) (spawns a stronger enemy if you play on medium or hard)
: UpgradeDifficulty (2048) (spawns a stronger enemy if you play on Normal or Hard)
: NoAutoDrop (4096) (doesn't drop "used" shield, "used" invisibility and LSI when killed)
: NoAutoDrop (4096) (doesn't drop "used" shield, "used" invisibility and LSI when killed)


'''After onisplit v0.9.54.0, merged integer flags can appear.'''
'''After OniSplit v0.9.54.0, merged integer flags can appear.''' Let's say you encounter a 6180: then it's actually 4096 + 2048 + 32 + 4.
 
Let's say you encounter a 6180, then it's actually 4096 + 2048 + 32 + 4.
|-
|-
|valign=top| <Class>
|valign=top| <Class>
|valign=top| char[64]
|valign=top| char[64]
| ONCC file name without file pre- and suffix. Character can change appearance with "chr_set_class".
| ONCC file name without file prefix and suffix. Character can change appearance with "chr_set_class".
|-
|-
|valign=top| <Name>
|valign=top| <Name>
Line 166: Line 164:
|valign=top| <Weapon>
|valign=top| <Weapon>
|valign=top| char[64]
|valign=top| char[64]
| ONWC file name without file pre- and suffix. The character is spawned with that weapon.  
| ONWC file name without file prefix and suffix. The character is spawned with that weapon.  


Original weapon classes:
Original weapon classes:
Line 174: Line 172:
: w4_psm (phase stream projector)
: w4_psm (phase stream projector)
: w5_sbg (super ball gun)
: w5_sbg (super ball gun)
: w6_vdg (shocker)
: w6_vdg (van de graaff pistol)
: w7_scc (scram cannon (mini-rockets))
: w7_scc (scram cannon (mini-rockets))
: w8_mbo (mercury bow)
: w8_mbo (mercury bow)
: w9_scr (screamer gun)
: w9_scr (screamer gun)
: w10_sni (Mukade's firework)
: w10_sni (Mukade's fireball)
: w11_ba1 (Barabas' gun)
: w11_ba1 (Barabas' gun)
: w12_ba2 (-)
: w12_ba2 (-)
Line 196: Line 194:
|valign=top| <AdditionalHealth>
|valign=top| <AdditionalHealth>
|valign=top| integer
|valign=top| integer
| ''main'' health is stored in ONCC, "additional health" will be added to that ''main'' health; also negative value possible here (which would then reduce main health)
| ''Base'' health is stored in ONCC; AdditionalHealth will be added to that base health; a negative value is allowed here, which would reduce base health
|-
|-
|valign=top| <Job>
|valign=top| <Job>
Line 209: Line 207:
: <font color="#777">Guard (never used in Oni)</font>
: <font color="#777">Guard (never used in Oni)</font>
: Patrol
: Patrol
: <font color="#777">Teambattle (never used in Oni)</font>
: <font color="#777">Team Battle (never used in Oni)</font>
: Combat (not tested)
: Combat (not tested)
: Melee (not tested)
: Melee (not tested)
Line 263: Line 261:
|valign=top| integer
|valign=top| integer
|
|
: <Use> (Player becomes spawned with ammo clips, here you set the amount.)
: <Use> (Player is spawned with this many ammo clips.)
: <Drop> (AI drop these items when defeated.)
: <Drop> (AI drops these items when defeated.)
|-
|-
|valign=top| <EnergyCell>
|valign=top| <EnergyCell>
Line 333: Line 331:
|valign=top| <AlarmGroups>
|valign=top| <AlarmGroups>
|valign=top| integer
|valign=top| integer
|It's a bitset32 converted to int32. If Ns bit = TRUE then a bot gets highest alert level by a console command ai2_tripalarm(N)
|It's a bitset32 converted to int32. For any bit ("N") that is 1, the scripting command "ai2_tripalarm N" is called, alerting the AI with that scripting ID
: <AlarmGroups>VAR</AlarmGroups>
: <AlarmGroups>VAR</AlarmGroups>
:: VAR = 2^N1 + 2^N2 + 2^N3 etc.
:: VAR = 2^N1 + 2^N2 + 2^N3 etc.