Editing and Customization > Community Content

[Game Mode] Cache [Version 5.1]

(1/5) > >>

Whimsical:
(Full Disclosure: Don't know if this is an original idea, or based on something I've seen somewhere before and just forgot about.)

Name: Cache
Description:
* This mode uses Deathmatch Scoring.
* Each player spawns with 3 randomly generated weapons.
* Each weapon is sorted into 1 of 7 categories.
* A player will not receive more than 1 weapon from a given category.
* Each category is given a weight, they do not appear with equal probability.
* Each weapon in each category is also weighted. For example, if you get 'handguns', then you're more likely to see a DD44 than a Magnum.
* Note that the weapons are not weighted weakest to strongest. Instead, the goal was to make average weapons more likely to appear.
* When you get the weapon you are also given an amount of ammo based on the weapon. For example, a regular shotgun comes with more shells than an auto-shotgun.
* The weapons you get will be different on each respawn.
* During the game, you can say "!" or "!voodoo" in the game chat to swap out for a new set of weapons, however, keep the following in mind.
* During the game, you can say "!gesrocks" to see a list of your current weapons on screen.
* You will be given 1 new weapon every 2 to 3 seconds until you are back up to 3.
* This will first remove all of your current weapons, so using this option in the middle of a firefight is probably a bad idea.
* You will, however, be able to use slappers until you have your first weapon.
* The default timing is 2 seconds for your first weapon, and 3 seconds for the other two.
* If you managed to score a kill with slappers while switching, the delay will be cancelled early, and you will complete the weapon switch.
* Each time you switch weapons, the next switch will take +1 second longer on each phase of the switch. This is reset when you die or score a hat trick.
* Switching weapons will award you with a small amount of armor when you get your 2nd weapon, and again on the 3rd.
* If you die before scoring a kill, and within 15 seconds of spawning, you can type "!" or "!voodoo" you keep the weapons you died with when you respawn (in place of the weapons you would normally spawn with).
* If you manage to score a hat trick (you made a kill with each of your weapons) you will also receive the following awards (note that if you switch your weapons, your progress towards this will be reset):
* You will score an additional kill.
* You will be able to swap out your weapons with no delay:
* This must be within 10 seconds of receiving the award.
* When you do so, one of the weapons will be either a Golden PP7, Golden Gun, Grenade Launcher, or RC-P90.
* If you die before you perform the swap, but within the window to do so, you will spawn with 1 of the above weapons.
* Some weapons will also confer additional benefits if you have them. Note, that if you swap weapons you lose the bonus.
* The Hunting will give you an increase to your base speed.
* The Klobb will give an increase to your damage
* The Silenced versions of either the PP7 or D5K will hide you from radar.
* The Throwing Knives count as kills with 2 different weapons, for the purpose of bonus kills and weapon switching. Additionally, if you spawned with them, your next switch will give you your first weapon right away, and reduce the time for subsequent weapons by 1.CVars
The following cvar values can be changed for customizing the game mode to how you want it to play.
Spoiler for Hiden:
* Name: cs_enableteamplay
* Default: 1
* Description: Enable Team Play during games.

* Name: cs_disableroundtime
* Default: 0
* Description: If 1 at the start of the game, disables the round timer.

* Name: cs_intromessage
* Default: 5
* Description: Time, in seconds, to display the intro message upon first spawn. Set to 0 to disable.

* Name: cs_disablelaser
* Default: 1
* Description: If 1, the Moonraker Laser will not appear.
* Notes: The Moonraker is considered a high tier weapon, and is a candidate for one of the weapons awarded on a hat trick.

* Name: cs_entropyammo
* Default: 1
* Description: If 1, uses Entropy-Soldier's suggested ammo count instead of the defaults.

* Name: cs_carrytime
* Default: 15
* Description: If 1 at the start of the game, disables the round timer.

* Name: cs_scorelimit
* Default: 0
* Description: The number of kills a player needs to win the round (0 removes the limit).

* Name: cs_enablenotifyremaining
* Default: 1
* Description: Shows message indicating how many kills until the player gets their bonus.

* Name: cs_enableslapers
* Default: 0
* Description: Give players Slappers in addition to normal weapons.

* Name: cs_enableswitching
* Default: 1
* Description: Allows weapons to be switched using the '1' or '!gesrocks' command.

* Name: cs_enableawardswitch
* Default: 1
* Description: Enables free switching after scoring a kill with 3 different weapons.

* Name: cs_awardswitchclass
* Default: 1
* Description: Gives the player a high tier weapon when they use their free switch.

* Name: cs_enableawardswitchcarry
* Default: 1
* Description: Player will receive a high tier weapon if they die before using their free switch.

* Name: cs_enableeffects
* Default: 1
* Description: Enables Special Weapon effects.

* Name: cs_enablestealth
* Default: 1
* Description: Enables Silenced Weapon effects. Does nothing is cs_enableeffects is set to 0.

* Name: cs_speedmultiplier
* Default: 1.15
* Description: Player's speed multiplier when they spawn with the Hunting Knife.

* Name: cs_damagemultiplier
* Default: 1.30
* Description: Player's damage multiplier when they spawn with the Klobb.

* Name: cs_enableubernormal
* Default: 1
* Description: Allows high tier weapons to be given to players at random (Doesn't affect cs_awardswitchclass).

* Name: cs_awardautoswitch
* Default: 0
* Description: Player will automatically switch weapons when receiving a free switch.

* Name: cs_switchdelay
* Default: 10
* Description: Delay between when a player requests a normal switch and when the switch happens.

* Name: cs_switchtimepenalty
* Default: 1
* Description: Time, in seconds, to add on to the switch delay after each switch. Numbers from 0 to 9 are valid.
* Notes: Numbers with more than 1 digit means that each digit (from left to right) will be added after the matching switch (So 12 will add 1 second on the 2nd switch attempt, and 2 seconds to the 3rd and later). These are cumulative. To stop accumulation, use a 0.

* Name: cs_nodelayonkill
* Default: 0
* Description: If the switch delay should be ignored if the play has scored a kill.

* Name: cs_knifeswitchdelay
* Default: 3
* Description: Delay between when the player requests a normal switch, if they spawned with Throwing Knives, and when the switch happens.

* Name: cs_awardswitchduration
* Default: 10
* Description: Amount of a time a player has to claim their free switch.

* Name: cs_switchdefenseless
* Default: 1
* Description: Removes all of a player's weapons when they request a normal switch.

* Name: cs_switchslapers
* Default: 1
* Description: If player is given slappers during the delay when switching weapons.

* Name: cs_switchonslapkill
* Default: 1
* Description: If enabled, and the player scores a kill with slappers while in the middle of switching weapons, the delay will be cancelled and the weapon switch will complete immediately.

* Name: cs_enablearmorbonus
* Default: 2
* Description: If 1, armor will be awarded when switching after making kills. If 2, armor will be awarded after the 2nd and 3rd weapon is given during a switch.

* Name: cs_switcharmorbonus
* Default: 0.25
* Description: Armor increase, as a multiple of the max armor a player can have, that will be added per unique weapon kill when a player switches.

* Name: cs_enablearmoronaward
* Default: 1
* Description: If 1, then armor is also awarded with an award switch.

* Name: cs_enablebonusarmorstacking
* Default: 1
* Description: If 1, then armor gained through bonuses can stack on to the player's armor total. If 0, then the player's armor will be set to their bonus, or their current armor, whichever is higher

* Name: cs_bonus
* Default: 1
* Description: Amount of additional points a player scores after scoring a kill with each of their 3 weapons.

* Name: cs_rs_enable
* Default: 1
* Description: If 1, enables rolling switch option. Gaining 1 weapon at a time, instead of all 3 at once, when switching.

* Name: cs_rs_1
* Default: 2
* Description: Time, in seconds, for the first weapon to be given during a Rolling Switch.

* Name: cs_rs_2
* Default: 3
* Description: Time, in seconds, for the second weapon to be given during a Rolling Switch.
* Note: The time used here is in relation to the time since the switch started and not since the previous weapon was given. Also note that these happen in sequence, if this is set below the above time, then the game will wait for that time to pass, then give you both this and the previous weapon at the same time.

* Name: cs_rs_3
* Default: 3
* Description: Time, in seconds, for the third weapon to be given during a Rolling Switch.
* Note: The time used here is in relation to the time since the switch started and not since the previous weapon was given. Also note that these happen in sequence, if this is set below the above time, then the game will wait for that time to pass, then give you both this and the previous weapon at the same time.

* Name: cs_rs_k1
* Default: 0
* Description: Time, in seconds, for the first weapon to be given during a Rolling Switch, if you started with Throwing Knives.

* Name: cs_rs_k2
* Default: 2
* Description: Time, in seconds, for the second weapon to be given during a Rolling Switch, if you started with Throwing Knives.
* Note: The time used here is in relation to the time since the switch started and not since the previous weapon was given. Also note that these happen in sequence, if this is set below the above time, then the game will wait for that time to pass, then give you both this and the previous weapon at the same time.

* Name: cs_rs_k3
* Default: 4
* Description: Time, in seconds, for the third weapon to be given during a Rolling Switch, if you started with Throwing Knives.
* Note: The time used here is in relation to the time since the switch started and not since the previous weapon was given. Also note that these happen in sequence, if this is set below the above time, then the game will wait for that time to pass, then give you both this and the previous weapon at the same time.

* Name: cs_rs_x1
* Default: 0
* Description: Time, in seconds, for the first weapon to be given during a Rolling Switch if you have made a kill.

* Name: cs_rs_x2
* Default: 2
* Description: Time, in seconds, for the second weapon to be given during a Rolling Switch if you have made a kill.
* Note: The time used here is in relation to the time since the switch started and not since the previous weapon was given. Also note that these happen in sequence, if this is set below the above time, then the game will wait for that time to pass, then give you both this and the previous weapon at the same time.

* Name: cs_rs_x3
* Default: 4
* Description: Time, in seconds, for the third weapon to be given during a Rolling Switch if you have made a kill.
* Note: The time used here is in relation to the time since the switch started and not since the previous weapon was given. Also note that these happen in sequence, if this is set below the above time, then the game will wait for that time to pass, then give you both this and the previous weapon at the same time.

* Name: cs_rs_p1
* Default: 1
* Description: Time, in seconds, to add on to the first weapon's rolling switch delay after each switch. Numbers from 0 to 9 are valid.
* Note: Numbers with more than 1 digit means that each digit (from left to right) will be added after the matching switch (So 12 will add 1 second on the 2nd switch attempt, and 2 seconds to the 3rd and later). These are cumulative. To stop accumulation, use a 0.

* Name: cs_rs_p2
* Default: 2
* Description: Time, in seconds, to add on to the second weapon's rolling switch delay after each switch. Numbers from 0 to 9 are valid.
* Note: Numbers with more than 1 digit means that each digit (from left to right) will be added after the matching switch (So 12 will add 1 second on the 2nd switch attempt, and 2 seconds to the 3rd and later). These are cumulative. To stop accumulation, use a 0.

* Name: cs_rs_p3
* Default: 3
* Description: Time, in seconds, to add on to the third weapon's rolling switch delay after each switch. Numbers from 0 to 9 are valid.
* Note: Numbers with more than 1 digit means that each digit (from left to right) will be added after the matching switch (So 12 will add 1 second on the 2nd switch attempt, and 2 seconds to the 3rd and later). These are cumulative. To stop accumulation, use a 0.Probabilities: Probabilities for categories and weapons appearing in any given set of 3 weapons. Calculated by generating 1000000 random weapon sets.
Categories:
Spoiler for Hiden:
* Automatics: %63.8598
* Rifles: %62.1181
* Handguns: %58.5856
* Shotguns: %50.1043
* Explosives: %40.0352
* Specials: %21.4918
* Ubers: %3.8052Weapons:
Spoiler for Hiden:
* Shotgun: %37.5445
* KF7 Soviet: %27.253
* Sniper Rifle: %24.0107
* Phantom: %23.275
* ZMG: %23.1445
* PP7: %19.5739
* DD44 Dostovei: %19.5362
* D5K Deutsche: %17.4403
* Remote Mines: %14.2918
* Rocket Launcher: %14.2847
* Cougar Magnum: %13.0077
* Automatic Shotgun: %12.5598
* AR33: %10.8544
* Silver PP7: %6.4678
* Klobb: %5.7467
* Hand Grenades: %5.7442
* Hunting Knife: %5.7062
* PP7 (Silenced): %4.3075
* Throwing Knife: %2.8665
* D5K (Silenced): %2.8649
* Proximity Mines: %2.862
* Timed Mines: %2.8525
* Grenade Launcher: %1.4417
* RC-P90: %1.4075
* Golden PP7: %0.4807
* Golden Gun: %0.4753Weapon Data: Table containing weights and ammo for each weapon.
Spoiler for Hiden: Categories
* Name: ubers
* Weight: 1 - 1
* Weapons:
* Golden PP7
* Weight: 1 - 1
* Ammo: 7 (+0)
* Golden Gun
* Weight: 2 - 2
* Ammo: 3 (+1)
* Grenade Launcher
* Weight: 3 - 5
* Ammo: 3 (+3)
* RC-P90
* Weight: 6 - 8
* Ammo: 80 (+0)
* Name: handguns
* Weight: 2 - 21
* Weapons:
* Silver PP7
* Weight: 1 - 1
* Ammo: 7 (+7)
* Cougar Magnum
* Weight: 2 - 3
* Ammo: 5 (+7)
* DD44 Dostovei
* Weight: 4 - 6
* Ammo: 8 (+24)
* PP7
* Weight: 7 - 9
* Ammo: 7 (+21)
* Name: shotguns
* Weight: 22 - 37
* Weapons:
* Automatic Shotgun
* Weight: 1 - 1
* Ammo: 5 (+5)
* Shotgun
* Weight: 2 - 4
* Ammo: 5 (+15)
* Name: autos
* Weight: 38 - 60
* Weapons:
* Phantom
* Weight: 1 - 4
* Ammo: 50 (+50)
* ZMG
* Weight: 5 - 8
* Ammo: 32 (+32)
* D5K Deutsche
* Weight: 8 - 11
* Ammo: 30 (+30)
* Name: rifles
* Weight: 61 - 82
* Weapons:
* Sniper Rifle
* Weight: 1 - 31
* Ammo: 8 (+16)
* AR33
* Weight: 32 - 45
* Ammo: 30 (+30)
* KF7 Soviet
* Weight: 46 - 80
* Ammo: 30 (+60)
* Name: explosives
* Weight: 83 - 94
* Weapons:
* Timed Mines
* Weight: 1 - 1
* Ammo: 3 (+7)
* Proximity Mines
* Weight: 2 - 2
* Ammo: 3 (+3)
* Remote Mines
* Weight: 3 - 7
* Ammo: 3 (+4)
* Hand Grenades
* Weight: 8 - 9
* Ammo: 3 (+9)
* Rocket Launcher
* Weight: 10 - 14
* Ammo: 1 (+1)
* Name: specials
* Weight: 95 - 100
* Weapons:
* Klobb
* Weight: 1 - 4
* Ammo: 20 (+20)
* Hunting Knife
* Weight: 5 - 8
* Ammo: 0 (+0)
* Throwing Knife
* Weight: 9 - 10
* Ammo: 1 (+9)
* PP7 (Silenced)
* Weight: 10 - 13
* Ammo: 7 (+7)
* D5K (Silenced)
* Weight: 14 - 15
* Ammo: 30 (+30)
Changelog:
Version 5 (Current)

* Bugfix (5.1): Weapon switch progress bar now shows correctly when using the Throwing Knives.
* (5.1): Added Entropy-Soldier's suggested ammo counts.
* (5.1): Changed default damage bonus from Klobb to 30% instead of 50%.
* Armor is now awarded on the 2nd and 3rd weapon of a rolling switch, instead of at the start. Number of kills is no longer relevant to the armor bonus.
* Moonraker Laser no longer appears.
* Each time you switch, the delays for the next switch are each increased by 1 second. This lasts until you score a hat trick or die.
* When you switch, the time until completion is shown on screen along with a progress bar.
* The magnum has +3 bullets.
* More debug commands added for when sv_cheats is on (!noweapons, !noarmor, !heal).Version 4
Spoiler for Hiden:
* !gesrocks now prints your current weapon set to the screen rather than just being a alternative for !voodoo.
* A short blurb listing commands is shown to the player the first time they spawn during this mode.
* Scoring a kill with 3 different weapons is now referred to as a Hat Trick.
* Speed and Damage Bonuses now show the percent they increase your stats by.
* Speed and Damage Multipliers can now be set using cvars.
* Players are now awarded a small amount of armor when they switch for each kill with a different weapon they made with that set.
* Players can switch weapons faster after their first kill.
* The !cheat message can be used if sv_cheats is enabled, and gives the player full health and armor, along with a Golden Gun, Golden PP7, and RC-P90 (This is very much for debugging the game mode).
* Carrying over weapons is no longer affected by kills scored after the player has died (e.g. a proximity mine kill).Version 3
Spoiler for Hiden:
* Bugfix (3.1): Special Weapon bonuses properly apply when using the carry over option.
* Added "rolling switch", where you are given new weapons 1 at a time, instead of all at once, when performing a switch.
* Added weapon carry over.
* Players are now shown which weapons they spawn with.
* Rocket Launchers can no longer spawn with an additional rocket.
* Shotgun now has 5 more shells.
* The following changes were made to the weapon spawn rates.
*
* AR33: -%9
* Automatic Shotgun: -%13
* D5K: -%2
* Phantom: -%2
* D5K: +%4
* Sniper Rifle: +%9
* Shotgun: +%12Version 2
Spoiler for Hiden:
* Bugfix: Zip file now contains proper version of the .cfg file.
* Silver PP7 moved from ubers to handgun category
* Moonraker Laser now appears more often
* Launchers category removed, Grenade Launcher moved to ubers, Rocket Launcher moved to explosives.
* Grenade Launcher now starts with 6 Grenades.
* Rocket Launcher can now start with either 2 or 3 rockets.
* Proximity Mines now appear less often.
* KF7 now appears less often. AR44 and Sniper Rifles now appear more often.
* Silenced Weapons now hide you from radar instead of disabling it for other players.
* Throwing Knives don't reduce enemy speed anymore. Instead, they count as 2 kills for the purposes of bonuses and let you switch weapons in only 3 seconds.
* !voodoo can now be used to perform a weapon switch.
* Players now receive slappers when switching, and can cancel the delay by scoring a kill with it.
* Time calculations now use GEUtil.GetTime().
* Players can no longer start a switch while they're dead.
* Prints a notice to the player when they score a kill telling them how many different weapons they need to kill with to get their bonus.
* Throwing Knives now show the player what they do when they spawn with them.
Closing Notes
Sadly my internet isn't good enough to actually play with other people, so I've only tested this mode against bots.
I also don't exactly know the balance for each weapon, so I'd be very much open to more experienced players giving their thoughts of what the weights on each category and weapon should be, along with the starting ammo counts.
Finally, feedback of any kind would be very much appreciated.

Special Thanks
A special thank you to Entropy-Soldier for all of his feedback and suggestion, both of which were invaluable for the development of this game mode.

Lastly,
Thank you for taking the time to read all of this ^_^.

Entropy-Soldier:
Sounds like a fun mode!  I'll stick it on my server and let you know what everyone thinks.  It's a shame you won't be able to play with us, but if I can get it working properly I'll try to record my gameplay so you can at least see a match with real players.  I make a point of playing on Saturday nights but there's always a chance I'll end up playing sooner.


Just from looking over your post and the gamemode file, without any actual playtesting, here are my thoughts:

Weapon Balance Suggestions:

- The Silver PP7 and the Laser are good weapons, but not nearly as good as the Golden Gun, Gold PP7, or Grenade Launcher.  Both of them are perhaps slightly better than the AR-33 in practice, even though they're a bit better on paper.  Laser might be more useful in this mode though just because the infinite ammo makes it one of the few weapons you can use for an extended period.  I'd say Silver PP7 should probably just be a normal pistol weapon, and given the laser's ammo situation it wouldn't hurt to leave it as an uber for now.  It might not really be good enough to warrant keeping it for the infinite ammo when you can get easier to use and better weapons by switching, but it's hard to say without playtesting.

- Proximity Mines, even though they're not as directly powerful as these weapons, are also probably worthy of the “uber” category as they can get you a lot of kills for the minimal effort of throwing them into weird spots.

Here's my weapon/cost list for Investment Losses, for reference.  It's balanced around infinite ammo so the mines and rocket launcher are higher than they otherwise would be, but otherwise this should be roughly the relative value of each weapon:

Spoiler for Hiden: Grenades : 400
Throwing Knives : 600
Klobb : 700
D5K Deutsche : 1500
Silenced D5K : 1500
Hunting Knife : 1800
DD44 : 2000
PP7 Silenced : 2000
PP7 : 2000
KF7 Soviet : 2500
Sniper Rifle : 3000
ZMG : 3500
Shotgun : 4000
Cougar Magnum : 4000
Phantom : 6000
AR-33 : 7000
Automatic Shotgun : 7000
Silver PP7 : 8000
Moonraker Laser : 10000
RCP-90 : 12000
Remote Mines : 12000
Rocket Launcher : 12000
Grenade Launcher : 14000
Golden Gun : 16000
Gold PP7 : 16000
Proximity Mines : 18000
I'll have to get back to you on how the ammo counts affect how things play.  It probably won't affect the relative strength of weapons too much but it will certainly change how they're used.  Will be interesting to see.


Answers to your questions and a few additional suggestions:

- For the silenced weapons, you actually can hide the individual player's radar dot.  You can do this by adding a custom radar contact to the player that uses a color with an alpha of 1, like so:


--- Code: ---
GERules.GetRadar().AddRadarContact( player, Glb.RADAR_TYPE_PLAYER, False, "", GEUtil.Color( 220, 220, 220, 1 ) )
--- End code ---

- The Throwing Knife holding debuff is probably also doable but every player's inventory would need to be checked in OnThink as picking up throwing knives doesn't trigger the CanPlayerHaveItem callback in 5.0.  You can make this have a minimal performance impact by limiting the check to once per second or so.  It might be easier and more intuitive to just have this debuff apply for 5-10 seconds to players that get hit by the throwing knives, which is very easy to check in CalculateCustomDamage.  This would be preferable to a server-wide debuff when one player has the throwing knives, because ~30% of the time someone's going to have the throwing knives so it will feel like a random punishment to the rest of the players that they can't do all that much to stop.

- It's probably better to use !voodoo instead of !gesrocks for the weapon swap command, as !gesrocks isn't bound by default in 5.0 and most gamemodes use !voodoo for their special input.

- It would be a good idea to give players the slappers during the weapon switch, because players who have no weapons will have no weapon animations and go into the reference pose for onlookers.  Looks kind of silly.

- I'd recommend using GEUtil.GetTime() instead of round time for timer calculations, as round time can be set to 0 to disable it and play forever.  It's not commonly done, but when it is it means you get stuck switching weapons forever.


Anyway, the mode's code is well organized, and I really like how you handled the cvars.  Modes with lots of them tend to get a bit cluttered but your setup handled them in a very clean way.  I might have to look into adopting a similar approach for our official modes.

Thanks for taking the time to make this!  I hope everyone in the community has fun with it.

Troy:
Most impressive

null:
I like the idea of the game play, and i hope to test it out if its hosted on Saturday Night. I wasn't able to look at the code, or have any suggestions on the weapons yet, but once i play the mode, i'll have some feedback.

Whimsical:
Just updated the game mode using feedback from Entropy-Soldier


--- Quote from: Entropy-Soldier on October 09, 2018, 02:43:22 am ---Sounds like a fun mode!  I'll stick it on my server and let you know what everyone thinks.  It's a shame you won't be able to play with us, but if I can get it working properly I'll try to record my gameplay so you can at least see a match with real players.  I make a point of playing on Saturday nights but there's always a chance I'll end up playing sooner.
--- End quote ---
Thank you, I really appreciate that.



--- Quote from: Entropy-Soldier on October 09, 2018, 02:43:22 am ---Just from looking over your post and the gamemode file, without any actual playtesting, here are my thoughts:

Weapon Balance Suggestions:
--- End quote ---
Here are my replies to your thoughts.


--- Quote from: Entropy-Soldier on October 09, 2018, 02:43:22 am ---- The Silver PP7 and the Laser are good weapons, but not nearly as good as the Golden Gun, Gold PP7, or Grenade Launcher.  Both of them are perhaps slightly better than the AR-33 in practice, even though they're a bit better on paper.  Laser might be more useful in this mode though just because the infinite ammo makes it one of the few weapons you can use for an extended period.  I'd say Silver PP7 should probably just be a normal pistol weapon, and given the laser's ammo situation it wouldn't hurt to leave it as an uber for now.  It might not really be good enough to warrant keeping it for the infinite ammo when you can get easier to use and better weapons by switching, but it's hard to say without playtesting.
--- End quote ---
I'll defer to your experience on this. I moved the Silver PP7 to Handguns, and it does feel right playtesting against bots. Since you included the Grenade Launcher with the Golden weapons, I added it to ubers (also to make sure there is a certain amount of variety there), with 6 Grenades to hopefully justify it. I think the Laser's ammo might still qualify it for the ubers list, though I did make it far more common in that list than it was before.


--- Quote from: Entropy-Soldier on October 09, 2018, 02:43:22 am ---- Proximity Mines, even though they're not as directly powerful as these weapons, are also probably worthy of the “uber” category as they can get you a lot of kills for the minimal effort of throwing them into weird spots.
--- End quote ---
That makes sense, I was never sure if the Proximity Mines were good at killing bots, or just good in general. I didn't add them to ubers though, since I don't think they give the feel I want the weapons in that category to have (or to be exact, the feel I want from award switching into one), still I made them less common in the Explosives lists, they now only have about a %2.8 chance of appears, as opposed to before where they were at %14.4.


--- Quote from: Entropy-Soldier on October 09, 2018, 02:43:22 am ---Here's my weapon/cost list for Investment Losses, for reference.  It's balanced around infinite ammo so the mines and rocket launcher are higher than they otherwise would be, but otherwise this should be roughly the relative value of each weapon:

Spoiler for Hiden: Grenades : 400
Throwing Knives : 600
Klobb : 700
D5K Deutsche : 1500
Silenced D5K : 1500
Hunting Knife : 1800
DD44 : 2000
PP7 Silenced : 2000
PP7 : 2000
KF7 Soviet : 2500
Sniper Rifle : 3000
ZMG : 3500
Shotgun : 4000
Cougar Magnum : 4000
Phantom : 6000
AR-33 : 7000
Automatic Shotgun : 7000
Silver PP7 : 8000
Moonraker Laser : 10000
RCP-90 : 12000
Remote Mines : 12000
Rocket Launcher : 12000
Grenade Launcher : 14000
Golden Gun : 16000
Gold PP7 : 16000
Proximity Mines : 18000
I'll have to get back to you on how the ammo counts affect how things play.  It probably won't affect the relative strength of weapons too much but it will certainly change how they're used.  Will be interesting to see.
--- End quote ---
I don't know enough to really comment on those numbers, though I am curious as to how they are calculated, and why they are in the 1000s range. Also, Timed Mines don't appear to be listed.



--- Quote from: Entropy-Soldier on October 09, 2018, 02:43:22 am ---Answers to your questions and a few additional suggestions:

- For the silenced weapons, you actually can hide the individual player's radar dot.  You can do this by adding a custom radar contact to the player that uses a color with an alpha of 1, like so:


--- Code: ---
GERules.GetRadar().AddRadarContact( player, Glb.RADAR_TYPE_PLAYER, False, "", GEUtil.Color( 220, 220, 220, 1 ) )
--- End code ---

--- End quote ---
Done.


--- Quote from: Entropy-Soldier on October 09, 2018, 02:43:22 am ---- The Throwing Knife holding debuff is probably also doable but every player's inventory would need to be checked in OnThink as picking up throwing knives doesn't trigger the CanPlayerHaveItem callback in 5.0.  You can make this have a minimal performance impact by limiting the check to once per second or so.  It might be easier and more intuitive to just have this debuff apply for 5-10 seconds to players that get hit by the throwing knives, which is very easy to check in CalculateCustomDamage.  This would be preferable to a server-wide debuff when one player has the throwing knives because ~30% of the time someone's going to have the throwing knives so it will feel like a random punishment to the rest of the players that they can't do all that much to stop.
--- End quote ---
I agree with you on the Throwing Knives debuff. It took me a while to think of what I wanted to replace it with since they seem to do enough damage to make an on hit debuff not as useful. I decided, in the end, to have them count twice towards your additional bonus point and award switch, and to have them reduce your switching time. They felt like a skill based weapon, so I felt the best way to handle them was to reward kills with them or to give a player a way to get rid of them quickly if they didn't want to use them.


--- Quote from: Entropy-Soldier on October 09, 2018, 02:43:22 am ---- It's probably better to use !voodoo instead of !gesrocks for the weapon swap command, as !gesrocks isn't bound by default in 5.0 and most gamemodes use !voodoo for their special input.
--- End quote ---
Done, you can now use either !voodoo or !gesrocks.


--- Quote from: Entropy-Soldier on October 09, 2018, 02:43:22 am ---- It would be a good idea to give players the slappers during the weapon switch, because players who have no weapons will have no weapon animations and go into the reference pose for onlookers.  Looks kind of silly.
--- End quote ---
I can't argue with that logic, added. Also added a bonus where if you do kill someone with slappers, it will automatically complete the weapon switch, regardless of the remaining delay.


--- Quote from: Entropy-Soldier on October 09, 2018, 02:43:22 am ---- I'd recommend using GEUtil.GetTime() instead of round time for timer calculations, as round time can be set to 0 to disable it and play forever.  It's not commonly done, but when it is it means you get stuck switching weapons forever.
--- End quote ---
Done.


--- Quote from: Entropy-Soldier on October 09, 2018, 02:43:22 am ---Anyway, the mode's code is well organized, and I really like how you handled the cvars.  Modes with lots of them tend to get a bit cluttered but your setup handled them in a very clean way.  I might have to look into adopting a similar approach for our official modes.
--- End quote ---
A very much appreciated compliment. I actually took the time to make sure everything was organized well. I also decided to make some adjustments to the code, specifically, I decided to label all the functions so they could be quickly searched, and reorder some of them so that it flows a bit better. I am curious about the cvars point though, specifically where my code differs from what the other modes do, since I don't think you mean (or at least I hope you don't mean) where I initialize it all in one block (which is the first thing I think of when I read that line).


--- Quote from: Entropy-Soldier on October 09, 2018, 02:43:22 am ---Thanks for taking the time to make this!  I hope everyone in the community has fun with it.

--- End quote ---
Thank you for taking the time to reply. I look foreward to seeing how this plays out with actual players.

Navigation

[0] Message Index

[#] Next page

Go to full version