19,127
edits
Paradox-01 (talk | contribs) 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== | |||
* The | * The XML code on this page is based on OniSplit '''v0.9.61.0''' | ||
* '''BINACJBOCharacter.oni''' is level specific | * '''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. | * 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>. | ||
|- | |- | ||
| <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 | | 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 | | 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 | : 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 | : 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) ( | : Omniscient (256) (AI will not forget having seen an enemy) | ||
: HasLSI (512) (this character drops | : HasLSI (512) (this character drops a [[LSI|level specific item]]) | ||
: Boss (1024) ( | : 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 | : 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 | '''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 | |||
|- | |- | ||
|valign=top| <Class> | |valign=top| <Class> | ||
|valign=top| char[64] | |valign=top| char[64] | ||
| ONCC file name without file | | 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 | | 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 ( | : 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 | : 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 | ||
| '' | | ''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"> | : <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 | : <Use> (Player is spawned with this many ammo clips.) | ||
: <Drop> (AI | : <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. | |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. |