XML:BINA/OBJC/CHAR: Difference between revisions
Jump to navigation
Jump to search
m (link fix) |
Paradox-01 (talk | contribs) mNo edit summary |
||
Line 250: | Line 250: | ||
|valign=top| <NeutralId> | |valign=top| <NeutralId> | ||
|valign=top| flag | |valign=top| flag | ||
|[[XML:BINA/OBJC/NEUT| | |[[XML:BINA/OBJC/NEUT|these profiles are level-specific]] | ||
|- | |- | ||
|valign=top| <Inventory> | |valign=top| <Inventory> |
Latest revision as of 17:07, 2 November 2023
CHAR : Character | ||
---|---|---|
XML
AKEV << Other file types >> CONS TMBD << Other BINA >> ONIE WEAP << Other OBJC >> CMBT |
General information
- 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/levelX_Final.dat).
- An alternative method for creating characters is AISA.
- All original characters can be seen HERE. (The lists include the ONCC name, character's BSL name, health, team and attached BSL event function names.)
XML structure
<?xml version="1.0" encoding="utf-8"?> <Oni> <Objects> [...] </Objects> </Oni>
[...] means at least one character. Paste all character data into there (this includes <CHAR Id="..."> and </CHAR> tag).
example
<CHAR Id="3860"> <Header> <Flags></Flags> <Position>-543.22 159 -630.0954</Position> <Rotation>0 180 0</Rotation> </Header> <OSD> <Flags>NotInitiallyPresent</Flags> <Class>konoko_generic</Class> <Name>konoko</Name> <Weapon>w1_tap</Weapon> <Scripts> <Spawn></Spawn> <Die>you_lose</Die> <Combat></Combat> <Alarm></Alarm> <Hurt></Hurt> <Defeated></Defeated> <OutOfAmmo></OutOfAmmo> <NoPath></NoPath> </Scripts> <AdditionalHealth>0</AdditionalHealth> <Job> <Type>None</Type> <PatrolPathId>0</PatrolPathId> </Job> <Behaviors> <CombatId>0</CombatId> <MeleeId>0</MeleeId> <NeutralId>0</NeutralId> </Behaviors> <Inventory> <Ammo> <Use>3</Use> <Drop>0</Drop> </Ammo> <EnergyCell> <Use>0</Use> <Drop>0</Drop> </EnergyCell> <Hypo> <Use>0</Use> <Drop>0</Drop> </Hypo> <Shield> <Use>0</Use> <Drop>0</Drop> </Shield> <Invisibility> <Use>0</Use> <Drop>0</Drop> </Invisibility> </Inventory> <Team>Konoko</Team> <AmmoPercentage>100</AmmoPercentage> <Alert> <Initial>Lull</Initial> <Minimal>Lull</Minimal> <JobStart>Low</JobStart> <Investigate>Medium</Investigate> </Alert> <AlarmGroups>0</AlarmGroups> <Pursuit> <StrongUnseen>Look</StrongUnseen> <WeakUnseen>Forget</WeakUnseen> <StrongSeen>Look</StrongSeen> <WeakSeen>Look</WeakSeen> <Lost>ReturnToJob</Lost> </Pursuit> </OSD> </CHAR>
XML tag | Content type | Description |
---|---|---|
<?xml version="1.0" encoding="utf-8"?> | float, flag | There's no reason to change this. |
<Oni> | - | |
<Objects> | - | |
<CHAR Id="3860"> | integer | ID doesn't matter. -- For level import use <CHAR>. |
<Header> | - | |
<Flags> | - | obsolete |
<Position> | float x3 | character is spawned at this XYZ position |
<Rotation> | float x3 | character is spawned with this XYZ rotation; only Y (facing) is useful |
<OSD> | - | |
<Flags> | flag | determines some special properties
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. |
<Class> | char[64] | ONCC file name without file prefix and suffix. Character can change appearance with "chr_set_class". |
<Name> | char[32] | used by BSL commands |
<Weapon> | char[64] | ONWC file name without file prefix and suffix. The character is spawned with that weapon.
Original weapon classes:
|
<Scripts> | string | BSL function
|
<AdditionalHealth> | 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 |
<Job> | - | |
<Type> | flag |
|
<PatrolPathId> | integer | Use <Type>None if you don't want a character to have a patrol path; otherwise the character won't fight. |
<Behaviors> | - | specified by IDs linking to melee, combat and neutral profile collection file |
<CombatId> | flag |
|
<MeleeId> | flag | here are all melee IDs sorted by ID |
<NeutralId> | flag | these profiles are level-specific |
<Inventory> | - | |
<Ammo> | integer |
|
<EnergyCell> | integer |
|
<Hypo> | integer |
|
<Shield> | integer |
|
<Invisibility> | integer |
|
<Team> | flag |
Characters of the same team can be made to attack each other via ai2_attack aiNameAttacker aiNameDefender 1 although melee damage is only dealt when team flags of both characters create a hostile match.
|
<AmmoPercentage> | integer | ammo in weapon, percent value: 0 - 100, overload not tested |
<Alert> | - | HERE you get some helpful information on how to use "Alert" and "Pursuit".
|
<Initial> | flag | initial alert level, see <Alert> for all flags |
<Minimal> | flag | minimal alert level, see <Alert> for all flags |
<JobStarting> | flag | alert level when starting a job, see <Alert> for all flags |
<Investigating> | flag | alert level when investigating, see <Alert> for all flags |
<AlarmGroups> | integer | 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
|
<Pursuit> | - |
|
<StrongUnseen> | flag | usually Look, see <Pursuit> for all flags |
<WeakUnseen> | flag | usually Forget, see <Pursuit> for all flags |
<StrongSeen> | flag | usually Look, see <Pursuit> for all flags |
<WeakSeen> | flag | usually Look, see <Pursuit> for all flags |
<Lost> | flag | usually ReturnToJob
|