Warning: Undefined array key 1 in /var/www/html/lib/tpl/mikio-blitz/mikio.php on line 815

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
blitz:enemy [2026/07/23 16:51] – gameboyadv4002blitz:enemy [2026/08/09 10:56] (current) – gameboyadv4002
Line 32: Line 32:
 </code> </code>
  
-If you have a keen eye, you might notice some parameters that would apply more to Agent 3, we'll talk about those later.+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.   * 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.   * 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 ==== ==== Rival Super Jump Target ====
Line 44: Line 63:
           - {DefinitionName: OctaSpawner, DestUnitId: objX, UnitFileName: ''}           - {DefinitionName: OctaSpawner, DestUnitId: objX, UnitFileName: ''}
 </code> </code>
-where the objX is the rival enm that you want to jump here.+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 ==== ==== Move Limits ====
-RivalMoveLimitAreaBoxOcta is used to delimit where a rival's area of movement. +RivalMoveLimitAreaBoxOcta is used to delimit a rival's area of movement. 
  
 <code> <code>
Line 53: Line 72:
 </code> </code>
   * GroupID: used to connect multiple areas to act as one.   * GroupID: used to connect multiple areas to act as one.
 +
 +On the Rival object itself, you must use this link
 +<code>
 +        MoveLimitArea:
 +          - {DefinitionName: MoveLimitArea, DestUnitId: objXXX, UnitFileName: ''}
 +</code>
 +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):
 +<code>
 +    - 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
 +</code>
 +  * 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 ===== ===== Missile Octocopter =====
Line 81: Line 157:
 </code> </code>
   * OverwriteAttackBreakTime: Can be used to set a new time between attacks. The period is very small if this is left as 0.   * 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)
 +<code>
 +    - 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
 +</code>
 +