Skip to content

GLOBAL: Add Lockdown gamemode#158

Open
katniny wants to merge 9 commits into
nzp-team:mainfrom
katniny:lockdown-gamemode
Open

GLOBAL: Add Lockdown gamemode#158
katniny wants to merge 9 commits into
nzp-team:mainfrom
katniny:lockdown-gamemode

Conversation

@katniny
Copy link
Copy Markdown
Contributor

@katniny katniny commented Apr 17, 2026

Description of Changes


This PR adds the Lockdown, which is essentially the "one-room challenge". This mode adds a new random weapon powerup, which grants a random weapon once picked up.

Every 5 rounds, the perks & pack-a-punch will randomize locations.

Visual Sample


Random weapon powerup:

2026-04-16.21-45-06.mp4

Perks randomizing:

8mb.video-QWW-vUFMDTN8.mp4

(Apologies for lag in the beginning of this video)

Checklist


  • I have thoroughly tested my changes to the best of my ability
  • I confirm I have not contributed anything that would impact Nazi Zombies: Portable's licensing and usage
  • This Pull Request fixes a critical issue that should be reviewed and merged as soon as possible

Copy link
Copy Markdown
Member

@MotoLegacy MotoLegacy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a really cool mode, thanks for working on it! Left some feedback.

Comment thread source/client/main.qc Outdated
Comment thread source/menu/menu_gset.qc Outdated
valid_weapon_found = true;
}

// assign and sweap weapon
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the behavior if they're in the middle of drinking something?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Swaps weapons but keeps you in a state like you're still drinking a perk (can't shoot, interact, so on)... good catch, I'll fix that 😓

PU_UpgradeWeaponRequirement );
PU_AddToStruct(PU_BONUSPOINTS, "models/pu/points!.mdl", "bonus_points.wav", PU_BonusPoints,
PU_BonusPointsRequirement );
PU_AddToStruct(PU_RANDOMWEAPON, "models/weapons/mp40/g_mp40.mdl", "random_weapon.wav", PU_RandomWeapon,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn't reference a weapon world model. If you want to duplicate the mp40 mesh with a Power-Up texture however that is OK.

Comment thread source/server/gamemodes/lockdown.qc Outdated
Comment on lines +60 to +68
count = Gamemode_Lockdown_CollectPerks(count, "perk_revive");
count = Gamemode_Lockdown_CollectPerks(count, "perk_juggernog");
count = Gamemode_Lockdown_CollectPerks(count, "perk_speed");
count = Gamemode_Lockdown_CollectPerks(count, "perk_double");
count = Gamemode_Lockdown_CollectPerks(count, "perk_flopper");
count = Gamemode_Lockdown_CollectPerks(count, "perk_staminup");
count = Gamemode_Lockdown_CollectPerks(count, "perk_deadshot");
count = Gamemode_Lockdown_CollectPerks(count, "perk_mule");
count = Gamemode_Lockdown_CollectPerks(count, "perk_pap");
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can clean this up significantly if we just make a list and reference the list. Also, why are we doing this every time it's called?

lock_angs[j] = tmp_v;
}

// Apply shuffled positions
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should make sure we never get an item spawning in the same place it was before. Also, we should play the sparkle effect when it moves so it seems less janky.

Comment thread source/server/gamemodes/lockdown.qc
lock_ran_post_init_logic = true;
}

// Every 5 rounds, reroll the perks to help the player
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're checking this and doing the door stuff every frame?

Comment thread source/server/gamemodes/lockdown.qc Outdated
…perks using ent_classname, remove voice line initialization & don't randomize perks on game start
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants