Aller au contenu principal

Session 91 — Reactivation des 10 armes du GLF (slots 8 et 9)

Decouverte cle

L’utilisateur confirme que le jeu original AB3D2 TKG a 10 armes
selectionnables, mais que les slots 8 et 9 (touches 9 et 0) reutilisent
les modeles 3D de leurs cousines :

Touche Slot Arme bulletType Apparence 3D
1 0 Shotgun 7 Shotgun Round shotgun.j3o
2 1 Plasma Gun 0 Plasma Bolt plasmagun.j3o
3 2 Grenade Launcher 8 Grenade grenadelauncher
4 3 Assault Rifle 1 Machine Gun rifle.j3o
5 4 Blaster 9 Blaster Bolt blaster.j3o
6 5 Rocket Launcher 2 Rocket rocketlauncher
7 6 Lazer 14 Lazer laser.j3o
8 7 Drop Mine 15 Mine plink.j3o
9 8 Plasma Multi-Shot 13 MegaPlasma plasmagun.j3o (meme apparence)
0 9 MegaLaser 10 Assault Lazer laser.j3o (meme apparence)

Analyse TEST.LNK (dump hex raw)

Le dump confirme que les slots 8 et 9 existent bien dans le GLF mais
sont configures comme des placeholders :

  Gun 8 : "GUN I" — bulType=8, delay=0, count=0, sfx=0
  Gun 9 : "GUN J" — bulType=9, delay=0, count=0, sfx=0

Les bullets MegaPlasma (13), Assault Lazer (10) et MindZap (12)
sont presentes dans la table BulletDefs mais inutilisees par les 8
premieres armes — ce sont probablement les munitions des armes manquantes
dans cette version de test du GLF.

Modifications

  1. CombatBootstrap.WeaponOverride : nouvelle classe interne avec les
    ShootDef par defaut pour les slots 8 et 9 :
    – Slot 8 Plasma Multi-Shot : MegaPlasma × 3, delay 30f, SFX 1
    – Slot 9 MegaLaser : Assault Lazer × 1, delay 10f, SFX 28

  2. CombatBootstrap.getEffectiveShootDef(glf, gunIdx) : retourne
    l’override si le GLF a count=0, sinon la valeur du GLF. Preserve la
    possibilite de modder via un GLF personnalise.

  3. CombatBootstrap.newLevelStart() : itere maintenant sur les 10 armes
    (et pas 8), donne les slots 8 et 9 via les overrides.

  4. PlayerShootSystem.update() : utilise getEffectiveShootDef() au
    lieu de glf.getShootDef() pour que le tir des slots 8 et 9 fonctionne.

  5. PlayerShootSystem.registerMappings() : ajoute WEAPON_9 et
    WEAPON_10 dans les actions ecoutees.

  6. PlayerShootSystem.onAction() : utilise un switch explicite slot→action
    (slot 8 → touche 9, slot 9 → touche 0) au lieu de la formule generique
    qui ne marchait que pour les touches 1-8.

  7. KeyBindings : ajoute Action.WEAPON_9 et Action.WEAPON_10,
    bindees respectivement sur KEY_9 et KEY_0.

  8. WeaponType : ajoute PLASMA_MULTISHOT (slot 8 → plasmagun.j3o)
    et MEGALASER (slot 9 → laser.j3o). Meme modele 3D que les armes
    cousines comme confirme par l’utilisateur.

A tester

Au lancement du jeu :
– Les touches 9 et 0 doivent switcher sur les nouvelles armes
– Touche 9 (Plasma Multi-Shot) : meme apparence que touche 2 (Plasma Gun),
mais 3 projectiles en eventail de couleur bleue/blanche (MegaPlasma)
– Touche 0 (MegaLaser) : meme apparence que touche 7 (Lazer), mais cadence
de tir 2x plus rapide avec bullets magenta (Assault Lazer)
– Les 10 armes sont donnees au joueur au spawn

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *