OBD talk:BINA/OBJC/CHAR: Difference between revisions

no edit summary
No edit summary
Line 84: Line 84:


[[User:Gumby|Gumby]] 18:39, 31 August 2008 (CEST)
[[User:Gumby|Gumby]] 18:39, 31 August 2008 (CEST)
==XML==
{{Template:XMLModdingHints}}
{| border=0 cellspacing=20 cellpadding=0 align=center
| The xml code on this page is based on onisplit '''v0.9.61.0'''
|}
'''general information'''
* '''BINACJBOCharacter.oni''' is level specific. (It can be found in edition/GameDataFolder/level''XX''_... )
* An alternative is [[OBD: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.)
'''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 '''<font color="#0A0"><CHAR Id="..."></font>''' and '''<font color="#0A0"></CHAR></font>''' tag).
'''example'''
        '''<font color="#0A0"><CHAR Id="3860"></font>'''
            <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>
        '''<font color="#0A0"></CHAR></font>'''
{| class="wikitable" width="100%"
!width=200px| XML tag
!width=200px| content type
! description
|-
|valign=top| <?xml version="1.0" encoding="utf-8"?>
|valign=top| string
| There's no reason to change this.
|-
|valign=top| <Oni>
|valign=top| -
|
|-
|valign=top| <Objects>
|valign=top| -
|
|-
|valign=top| <CHAR Id="3860">
|valign=top| integer
| Id doesn't matter.
|-
| <Header>
|valign=top| -
|
|-
|valign=top| <Flags>
|valign=top| -
| unknown; usually empty
|-
|valign=top| <Position>
|valign=top| float x3
| character is spawned at this xyz-position
|-
|valign=top| <Rotation>
|valign=top| float x3
| character is spawned with this xyz-rotation, only y is useful
|-
|valign=top| <OSD>
|valign=top| -
|
|-
|valign=top| <Flags>
|valign=top| flag
| 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)
: RandomCostume (2) (flag belongs to [[OBD_talk:ONCV|ONCV]])
: NotInitiallyPresent (4)
: NonCombatant (8)
: CanSpawnMultiple (16) (needs WasSpawned)
: WasSpawned (32) (...)
: Unkillable (64) (character won't loss more life points if it reaches 1, same as BSL command "chr_unkillable")
: InfiniteAmmo (128) (Raiden: "You got enough ?" Snake points to his head. "Infinite ammo...")
: Omniscient (256) ('''?'''; tested ideas: doesn't unlock moves for player)
: HasLSI (512) (this character drops an level specific item like truck keys in [[CHAPTER_14_._DAWN_OF_THE_CHRYSALIS|level 19]])
: Boss (1024) (used for boss mode fights. makes the AI ignore this character unless there is nobody else around)
: UpgradeDifficulty (2048) (spawns a stronger enemy if you play on medium or hard)
: NoAutoDrop (4096) (doesn't drop "used" shield, "used" invisibility and LSI when killed)
'''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.
|-
|valign=top| <Class>
|valign=top| link
| ONCC file name without file pre- and suffix. Character can change appearance with "chr_set_class".
|-
|valign=top| <Name>
|valign=top| string
| used by BSL commands
|-
|valign=top| <Weapon>
|valign=top| link
| ONWC file name without file pre- and suffix. The character is spawned with that weapon.
Original weapon classes:
: w1_tap (TCTF pistol)
: w2_sap (Syndicate uzi)
: w3_phr (plasma rifle)
: w4_psm (phase stream projector)
: w5_sbg (super ball gun)
: w6_vdg (shocker)
: w7_scc (scram cannon (mini-rockets))
: w8_mbo (mercury bow)
: w9_scr (screamer gun)
: w10_sni (Mukade's firework)
: w11_ba1 (Barabas' gun)
: w12_ba2 (-)
|-
|valign=top| <Scripts>
|valign=top| string
| BSL function
: <Spawn> (called when character is spawned)
: <Die> (called when character dies (health reaches 0); can work multiple times)
: <Combat> (called when character notices an enemy; works only once)
: <Alarm> (called when character is alarmed)
: <Hurt> (called when character is hurt for the first time; works only once)
: <Defeated> (called when character is "defeated" (health reaches 1); works only once)
: <OutOfAmmo> (called when character runs out of ammo (reloads a weapon with the last clip/cell); works only once, and the character must have the ammo at spawn-time)
: <font style="color:#777"><NoPath> (should be called when a character has trouble pathfinding, but isn't</font>)
|-
|valign=top| <AdditionalHealth>
|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)
|-
|valign=top| <Job>
|valign=top| -
|
|-
|valign=top| <Type>
|valign=top| flag
|
: None
: Idle
: <font color="#777">Guard (never used in Oni)</font>
: Patrol
: <font color="#777">Teambattle (never used in Oni)</font>
: Combat (not tested)
: Melee (not tested)
: Alarm (not tested)
: Neutral (not tested)
: Panic (not tested)
|-
|valign=top| [[OBD_talk:BINA/OBJC/PATR|<PatrolPathId>]]
|valign=top| integer
|
|-
|valign=top| <Behaviors>
|valign=top| -
| specified by IDs linking to melee, combat and neutral profile collection file
|-
|valign=top| [[OBD_talk:BINA/OBJC/CMBT|<CombatId>]]
|valign=top| flag
|
: 0 (Stand_and_Fire)
: 1 (Murder)
: 2 (Shoot_And_Fight)
: 3 (Take_my_Big_Black_Stuff)
: 4 (Assault)
: 5 (Civilian)
: 6 (Pursuit)
: 7 (Group_battle)
: 8 (Watchman)
: 9 (Barabbas_TCTF)
: 10 (COMGUY)
: 11 (SuperNinja)
: 12 (Griffin)
: 13 (Mutant_Muro)
: 14 (Alarm Guard)
: 15 (Non-Combatant)
: 16 (Griffin_Final)
: 207 (Sniper)
: 208 (Sniper For Joe)
: 17 (Average_striker; new profile for AE)
|-
|valign=top| <MeleeId>
|valign=top| flag
| [[OBD:BINA/OBJC/MELE#All_profiles_sorted_by_ID|here are all melee IDs sorted by ID]]
|-
|valign=top| <NeutralId>
|valign=top| flag
|[[OBD:BINA/OBJC/NEUT|...]] (no overview so far)
|-
|valign=top| <Inventory>
|valign=top| -
|
|-
|valign=top| <Ammo>
|valign=top| integer
|
: <Use> (Player becomes spawned with ammo clips, here you set the amount.)
: <Drop> (AI drop these items when defeated.)
|-
|valign=top| <EnergyCell>
|valign=top| integer
|
: <Use>
: <Drop>
|-
|valign=top| <Hypo>
|valign=top| integer
|
: <Use>
: <Drop> (AI cannot use hypos.)
|-
|valign=top| <Shield>
|valign=top| integer
|
: <Use>
: <Drop>
|-
|valign=top| <Invisibility>
|valign=top| integer
|
: <Use>
: <Drop>
|-
|valign=top| <Team>
|valign=top| flag
|
: Konoko
: TCTF
: Syndicate
: Neutral
: SecurityGuard
: RogueKonoko
: Switzlerland (is melee-immune)
: SyndicateAccessory
|-
|valign=top| <AmmoPercentage>
|valign=top| integer
| ammo in weapon, percent value: 0 - 100, ''overload'' not tested
|-
|valign=top| <Alert>
|valign=top| -
| [[Tricks_behind_Oni_A.I.|HERE]] you get some helpful information on how to use "Alert" and "Pursuit".
: Lull
: Low
: Medium
: High
: Combat
|-
|valign=top| <Initial>
|valign=top| flag
| initial alert level, see <Alert> for all flags
|-
|valign=top| <Minimal>
|valign=top| flag
| minimal alert level, see <Alert> for all flags
|-
|valign=top| <JobStarting>
|valign=top| flag
| alert level when starting a job, see <Alert> for all flags
|-
|valign=top| <Investigating>
|valign=top| flag
| alert level when investigating, see <Alert> for all flags
|-
|valign=top| <AlarmGroups>
|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)
: <AlarmGroups>VAR</AlarmGroups>
:: VAR = 2^N1 + 2^N2 + 2^N3 etc.
|-
|valign=top| <Pursuit>
|valign=top| -
|
: None
: Forget
: GoTo
: Wait
: Look
: Move
: Hunt
: Glanc
|-
|valign=top| <nowiki><StrongUnseen></nowiki>
|valign=top| flag
| usually ''Look'', see <Pursuit> for all flags
|-
|valign=top| <WeakUnseen>
|valign=top| flag
| usually ''Forget'', see <Pursuit> for all flags
|-
|valign=top| <StrongSeen>
|valign=top| flag
| usually ''Look'', see <Pursuit> for all flags
|-
|valign=top| <WeakSeen>
|valign=top| flag
| usually ''Look'', see <Pursuit> for all flags
|-
|valign=top| <Lost>
|valign=top| flag
| usually ''ReturnToJob''
: ReturnToJob
: KeepLooking
: FindAlarm
|}
8,452

edits