While looking through Shadow Warrior's source code again for the beta thread, I decided delve a little deeper to try and understand a bit of an oddity regarding the Ripper Heart and the Lo Wang clone.
As I'm sure you all know, the Ripper Heart creates a Lo Wang clone who assists you with a railgun before unceremoniously exploding after a short period. However, the way the weapon and clone is defined in the source code suggests a more intriguing intent. For one, the Ripper Heart is internally referred to as the Blood Worm. This includes a death string, indicating the Ripper Heart was originally able to perform actual damage to its targets. Also, the clone is internally named as ZOMBIE. The obvious question here is, "Zombie of what?" Since the clone uses Lo Wang's sprites, is it a zombified version of the player?
Going back to the code, the function used to spawn the Ripper Heart clone is named SpawnZombie
2. However, there is an additional unused function apparently intended for a nearly identical purpose simply named SpawnZombie. It is only referenced once (but not actually called) in WEAPON.C in the PlayerCheckDeath function as follows in this excerpt:
PlayerCheckDeath(PLAYERp pp, short Weapon)
{
SPRITEp sp = pp->SpriteP;
USERp u = User[pp->PlayerSprite];
SPRITEp wp = &sprite[Weapon];
USERp wu = User[Weapon];
int SpawnZombie(PLAYERp pp, short);
This is interesting as it implies the spawning of a zombie does not come directly through the use of a weapon but rather by killing a player with a particular weapon, presumably the Ripper Heart itself. There's also this comment in the unused SpawnZombie function:
//nu->tgt_sp = pp->SpriteP; // Make it target last killed player initially
Hence, I make this hypothesis: The original purpose of the Ripper Heart/Blood Worm was to damage enemies directly, probably by leeching their life force as some early screenshots suggested. If you killed another player with the Ripper Heart, only then would it spawn a zombie player implied to be the resurrected corpse of your foe. This zombie would basically act like the current clone does, but it would initially target the player you just killed when they respawned just to add that extra level of humiliation.
Of course, this limits the zombie strictly to multiplayer-only Wangbang modes. There don't appear to be any obvious remnants in the source code which indicate how the Ripper Heart would have performed as an actual damage-dealing weapon. In the leaked 0.90 beta, the Ripper Heart is powered by "
Deathcoils" and fires a projectile which briefly stuns enemies but doesn't seem to damage them, hence evidently coming from a later stage of development.
Also, looking at the zombie's code, an #if'd out section in its action states reveals the clone was supposed to have a larger, more varied arsenal beyond the railgun:
#if 0
{sg_ZombieUzi},
{1024},
{sg_ZombieUzi, sg_ZombieRocket, sg_ZombieGrenade, sg_ZombieNuke},
{400, 750, 1000, 1024},
#endif
{sg_ZombieRail},
{1024},
{sg_ZombieRail},
{1024},
The notion of a Lo Wang clone using grenade launchers and nukes is definitely amusing. There's also more unused code here which indicates the clone was able to use flash bombs as well.