====== Enemies ====== ===== Rival Octolings ===== Enm_Rival(WEAPONNAME)(Octa) is the obejct used to create an enemy Octoling. - DbgWeaponMainId: !l -1 DbgWeaponSubId: !l -1 DbgWeaponTrigFrame: !l -1 EscapeRestHpBorder: !l 100 HeroDeadType: !l 0 HeroWeaponLv: !l 0 IsDistanceSwitch: true IsHiddenWait: true IsHokoSwitch: false IsKeepout: false IsLinkDest: false IsShotSwitch: false IsSleepWait: false IsStrongHero: false ItemDropableParams__DropNum: !l 0 LayerConfigName: Cmn Links: {} PlanType: !l 0 RespawnNum: !l 0 RespawnWaitFrame: !l 0 SpawnType: !l 0 Special: !l 0 SpecialChargeFrame: !l 0 SpecialReChargeFrame: !l 0 SubWeapon: !l 0 SwitchType: !l 0 UseSuperLandingInSuperJump: false You might notice some parameters that would apply to Agent 3. This author does not currently believe that these have any effect on non-Hero Rival objects. * IsHiddenWait: used to prevent the enm from acting until activated by a Switch link. * RespawnNum: describes how many "lives" the enemy gets, if IsHiddenWait is true than the activating Switch will consume one life. * SubWeapon: describes the type of Sub the Rival will use. - Splat Bomb - Burst Bomb - Unknown - Auto Bomb - Curling Bomb * Special: describes the type of Special the Rival will use. Official levels have this set as -1 if the Octoling should not have a special, although leaving it as 0 appears to have the same result. Note that the IDs used here are different from the IDs found in Mush.release.pack/WeaponInfo_Special.byml: - Ink Armor - Tenta Missiles - Sting Ray - Bubble Blower - Splat Bomb Launcher - Inkjet - Burst Bomb Launcher - Curling Bomb Launcher - Auto Bomb Launcher - Splashdown - Baller - Bubble Blower ==== Rival Super Jump Target ==== RivalRespawnPos is used so that an Octoling Super Jumps to a location upon spawning. Links: OctaSpawner: - {DefinitionName: OctaSpawner, DestUnitId: objX, UnitFileName: ''} where the objX is the Rival enm that you want to jump here. This connection is not mutually exclusive and multiple Rivals can jump to the same RivalRespawnPos. ==== Move Limits ==== RivalMoveLimitAreaBoxOcta is used to delimit a rival's area of movement. - GroupID: !l 5 * GroupID: used to connect multiple areas to act as one. On the Rival object itself, you must use this link MoveLimitArea: - {DefinitionName: MoveLimitArea, DestUnitId: objXXX, UnitFileName: ''} where objXXX is the RivalMoveLimitAreaBoxOcta object. ==== Agent 3 ==== Obj_RivalHeroOcta is a very lightly modified version of enemy Octolings. It is capable of being altered in the same way as Octolings (different Subs, Specials) and uses the same method to control its Super Jump. The following is the object used in the first phase of Inner Agent 3 (OctShowdown): - DbgWeaponMainId: !l -1 DbgWeaponSubId: !l -1 DbgWeaponTrigFrame: !l -1 EscapeRestHpBorder: !l 100 HeroDeadType: !l 0 HeroWeaponLv: !l 1 Id: obj60 IsDistanceSwitch: false IsHiddenWait: false IsHokoSwitch: false IsKeepout: false IsLinkDest: true IsShotSwitch: false IsSleepWait: true IsStrongHero: true ItemDropableParams__DropNum: !l 1 LayerConfigName: Cmn Links: MoveLimitArea: - {DefinitionName: MoveLimitArea, DestUnitId: obj81, UnitFileName: ''} ToSwitchAllDead: - {DefinitionName: ToSwitchAllDead, DestUnitId: obj105, UnitFileName: ''} ModelName: null ParameterName: null PlanType: !l 0 RespawnNum: !l 0 RespawnWaitFrame: !l 0 Rotate: {X: 0.00000, Y: -45.00000, Z: 0.00000} Scale: {X: 1.00000, Y: 1.00000, Z: 1.00000} SpawnType: !l 0 Special: !l 6 SpecialChargeFrame: !l 300 SpecialReChargeFrame: !l 600 SubWeapon: !l 4 SwitchType: !l 1 Team: !l 2 Translate: {X: 185.00000, Y: 2000.00000, Z: -185.00000} UnitConfigName: Enm_RivalHeroOcta UseSuperLandingInSuperJump: true * HeroDeadType: controls the way Agent 3 reacts upon being splatted. 0 causes armour break and Agent 3 will Super Jump away (this is all visual, any action normally taken upon enemy death such as dropping Power Eggs or activating SwitchAllDead will stick occur). 1 causes Agent 3 to be visually splatted like any other Rival. 2 is used for the Agent 3 dramatic splat animation (Demo11_KnockOut) * IsStrongHero: Used to switch between Sanitised Agent 3 and Inner Agent 3 behaviour. * Special: When special 10 Splashdown (SuperLanding) is used by an Agent 3 object, it becomes Super Splashdown Rush. IsStrongHero reduces the time between Super Splashdowns ===== Missile Octocopter ===== Copied from Escape 3: Belly Phase (Fld_OctLastBoss02_OctMsn) - AirBallIkuraDropNum: !l 0 AmbushConstraint: !l 7 AmbushSearchRadius: 250.00000 BindType: !l 0 EnemyRailableParams__SolveType: !l 0 IsAttachAirBall: false IsFaceToPlayerOnActivate: false IsLinkDest: true IsReviveBySwitch: false IsUnbindOnActivate: false ItemDropableParams__DropNum: !l 1 LayerConfigName: Cmn Links: {} ModelName: null NoCulling: false OverwriteAttackBreakTime: !l 500 PatrolFrontDirFixed: false PlayerChaseType: !l 0 Team: !l 2 UnitConfigName: Enm_TakopterMissileBoostOcta UseFrontWithBindable: false UsePaintDrone: false * OverwriteAttackBreakTime: Can be used to set a new time between attacks. The period is very small if this is left as 0. ===== Octocommanders ===== From E08 Da Bomb Station (OctBomb) - AirBallIkuraDropNum: !l 0 BindType: !l 0 CheckInitialLaserCol: false Id: obj570 IsAttachAirBall: false IsFaceToPlayerOnActivate: false IsLinkDest: false IsReviveBySwitch: false IsUnbindOnActivate: false ItemDropableParams__DropNum: !l 1 LayerConfigName: Cmn Links: ToSwitchAllDead: - {DefinitionName: ToSwitchAllDead, DestUnitId: obj438, UnitFileName: ''} ModelName: null RotPatrole360: false Rotate: {X: 0.00000, Y: 0.00000, Z: 0.00000} Scale: {X: 1.00000, Y: 1.00000, Z: 1.00000} Team: !l 2 Translate: {X: 300.00000, Y: 215.00000, Z: -555.00000} UnitConfigName: Enm_SpinnerOcta UseFrontWithBindable: false ViewAngle: -1.00000