SHOGO MECH COMPARISON - VERSION 0.13

97 source/assets comparison checks passed.

PASS PulseRifle: original Shogo right-hand camera offset retained
PASS PulseRifle: BaseDamage matches UT99 balance profile
PASS PulseRifle: ShotRange matches original weapon data
PASS PulseRifle: ShotSpread matches original weapon data
PASS PulseRifle: ClipSize matches original weapon data
PASS PulseRifle: shot starts at original FIRE_KEY (0.045s)
PASS PulseRifle: BlastRadius matches original projectile data
PASS PulseRifle: Speed matches original projectile data
PASS PulseRifle: Fuse matches original projectile data
PASS PulseRifle: all original weapon WAV files preserved byte for byte
PASS PulseRifle: every animation frame matches original posed geometry within vertex packing precision
PASS PulseRifleLeft: every animation frame matches original posed geometry within vertex packing precision
PASS PulseRifle: left and right exports retain all 551 original gun and arm vertices
PASS PulseRifle: all 912 original gun and arm polygons retained in both hands
PASS LaserCannon: original Shogo right-hand camera offset retained
PASS LaserCannon: BaseDamage matches UT99 balance profile
PASS LaserCannon: ShotRange matches original weapon data
PASS LaserCannon: ShotSpread matches original weapon data
PASS LaserCannon: ClipSize matches original weapon data
PASS LaserCannon: shot starts at original FIRE_KEY (0.078s)
PASS LaserCannon: all original weapon WAV files preserved byte for byte
PASS LaserCannon: every animation frame matches original posed geometry within vertex packing precision
PASS LaserCannonLeft: every animation frame matches original posed geometry within vertex packing precision
PASS LaserCannon: left and right exports retain all 557 original gun and arm vertices
PASS LaserCannon: all 942 original gun and arm polygons retained in both hands
PASS Spider: original Shogo right-hand camera offset retained
PASS Spider: BaseDamage matches UT99 balance profile
PASS Spider: ShotRange matches original weapon data
PASS Spider: ShotSpread matches original weapon data
PASS Spider: ClipSize matches original weapon data
PASS Spider: shot starts at original FIRE_KEY (0.133s)
PASS Spider: BlastRadius matches original projectile data
PASS Spider: Speed matches original projectile data
PASS Spider: Fuse matches original projectile data
PASS Spider: all original weapon WAV files preserved byte for byte
PASS Spider: every animation frame matches original posed geometry within vertex packing precision
PASS SpiderLeft: every animation frame matches original posed geometry within vertex packing precision
PASS Spider: left and right exports retain all 510 original gun and arm vertices
PASS Spider: all 864 original gun and arm polygons retained in both hands
PASS Bullgut: original Shogo right-hand camera offset retained
PASS Bullgut: BaseDamage matches UT99 balance profile
PASS Bullgut: ShotRange matches original weapon data
PASS Bullgut: requested wider 0.08 spread replaces original 0.005 cone
PASS Bullgut: ClipSize matches original weapon data
PASS Bullgut: shot starts at original FIRE_KEY (0.100s)
PASS Bullgut: BlastRadius matches original projectile data
PASS Bullgut: Speed matches original projectile data
PASS Bullgut: Fuse matches original projectile data
PASS Bullgut: all original weapon WAV files preserved byte for byte
PASS Bullgut: every animation frame matches original posed geometry within vertex packing precision
PASS BullgutLeft: every animation frame matches original posed geometry within vertex packing precision
PASS Bullgut: left and right exports retain all 388 original gun and arm vertices
PASS Bullgut: all 602 original gun and arm polygons retained in both hands
PASS SniperRifle: original Shogo right-hand camera offset retained
PASS SniperRifle: BaseDamage matches UT99 balance profile
PASS SniperRifle: ShotRange matches original weapon data
PASS SniperRifle: ShotSpread matches original weapon data
PASS SniperRifle: ClipSize matches original weapon data
PASS SniperRifle: shot starts at original FIRE_KEY (0.000s)
PASS SniperRifle: all original weapon WAV files preserved byte for byte
PASS SniperRifle: every animation frame matches original posed geometry within vertex packing precision
PASS SniperRifleLeft: every animation frame matches original posed geometry within vertex packing precision
PASS SniperRifle: left and right exports retain all 371 original gun and arm vertices
PASS SniperRifle: all 638 original gun and arm polygons retained in both hands
PASS Juggernaut: original Shogo right-hand camera offset retained
PASS Juggernaut: BaseDamage matches UT99 balance profile
PASS Juggernaut: ShotRange matches original weapon data
PASS Juggernaut: ShotSpread matches original weapon data
PASS Juggernaut: ClipSize matches original weapon data
PASS Juggernaut: shot starts at original FIRE_KEY (0.000s)
PASS Juggernaut: all original weapon WAV files preserved byte for byte
PASS Juggernaut: every animation frame matches original posed geometry within vertex packing precision
PASS JuggernautLeft: every animation frame matches original posed geometry within vertex packing precision
PASS Juggernaut: left and right exports retain all 536 original gun and arm vertices
PASS Juggernaut: all 946 original gun and arm polygons retained in both hands
PASS Shredder: original Shogo right-hand camera offset retained
PASS Shredder: BaseDamage matches UT99 balance profile
PASS Shredder: ShotRange matches original weapon data
PASS Shredder: ShotSpread matches original weapon data
PASS Shredder: ClipSize matches original weapon data
PASS Shredder: shot starts at original FIRE_KEY (0.067s)
PASS Shredder: all original weapon WAV files preserved byte for byte
PASS Shredder: every animation frame matches original posed geometry within vertex packing precision
PASS ShredderLeft: every animation frame matches original posed geometry within vertex packing precision
PASS Shredder: left and right exports retain all 546 original gun and arm vertices
PASS Shredder: all 986 original gun and arm polygons retained in both hands
PASS RedRiot: original Shogo right-hand camera offset retained
PASS RedRiot: BaseDamage matches UT99 balance profile
PASS RedRiot: ShotRange matches original weapon data
PASS RedRiot: ShotSpread matches original weapon data
PASS RedRiot: ClipSize matches original weapon data
PASS RedRiot: shot starts at original FIRE_KEY (1.070s)
PASS RedRiot: all original weapon WAV files preserved byte for byte
PASS RedRiot: every animation frame matches original posed geometry within vertex packing precision
PASS RedRiotLeft: every animation frame matches original posed geometry within vertex packing precision
PASS RedRiot: left and right exports retain all 399 original gun and arm vertices
PASS RedRiot: all 686 original gun and arm polygons retained in both hands

Engine adaptations and limits:
- Damage follows the UT99 balance profile. Original range, magazine size, initial firing event, projectile speed, blast radius and fuse values are retained. Spread is retained except for the requested wider Bullgut cone.
- Bullgut fires four rockets roughly 0.1 seconds apart (source events: 100, 200, 299, 399 ms). Requested wider 0.08 spread and randomized snaking/roll make volleys less accurate. The frame-independent weaving adapts the source 10-radian/second snaking idea; targeting-upgrade homing is not included.
- Spider sticks to world geometry or moving actors until its three-second fuse; it hides on pawn hosts as in the source.
- Mech sniper fires 40 damage unzoomed at the original 0.15-second cycle; zoom fires one 60-damage round at the original one-second cycle. Human assault rifle zoom still fires a three-round burst.
- Laser Cannon and mech sniper use instant traces. Juggernaut, Shredder and Red Riot use instant traces with radial impact damage, following the original VECTOR/CANNON categories.
- Explosion shells, cores, sprites, lights, beams and smoke are adapted to UT99. Beam strips use original Shogo textures. Some explosion timing, scale and smoke density differ from LithTech.
- The shipped Bullgut muzzle-flash sprite contains zero frames; the rocket flare and smoke provide its firing effect. Two missing street-flare frames in the Pulse Rifle projectile sprite are omitted; the six installed weapon-flare frames are retained.
- Source selection, charge, spin and reload SOUND_KEY events are retained where their sounds exist.
- Viewmodels use original arms, reflected as a complete unit for the opposite hand. Mech bodies, camera height, movement, armor and mission upgrades are not converted.
- Original mech damage is powerful on human-sized UT99 players. UT99 armor, friendly fire and damage rules still apply.
- Existing vertex format limitations can still cause some texture/geometry movement.
