Pregame Plus mod

WigglyWiggly Join Date: 2014-01-02 Member: 191375Members
edited January 2014 in Modding
Pregame Plus (PGP) is a Shine plugin that helps servers when they're at a low player population. PGP encourages players to stay in small servers by offering an alternative to small matches that pubbers tend to shy away from. Normally before a match starts, you can only join a team and wander around. PGP modifies this to allow players to fight each other with any lifeform or equipment they want. This gives players something to do, aside from starting a tiny match, while waiting for more players to join. Additionally, it lets players practice combat without the stress of losing pres.

For more details you can visit the workshop page:
http://steamcommunity.com/sharedfiles/filedetails/?id=210255173


Please report any bugs and conflicts with other shine extensions.

Comments

  • BestProfileNameBestProfileName Join Date: 2013-01-03 Member: 177320Members
    Sounds like a great idea.
  • Soul_RiderSoul_Rider Mod Bean Join Date: 2004-06-19 Member: 29388Members, Constellation, Squad Five Blue
    edited January 2014
    Look forward to mucking around with it on some servers. Although you could find people just playing this instead of combat mod because of some of the current problems.

    Balance is going to be a big problem though...

    Will this give armor/weapon upgrades too? It won't be much fun for a bunch of marines with lvl 1 shotties running around while someone rofl stomps them as an onos with all abilities, likewise it won't be fun for someone practicing skulking to come up against fully upgraded lvl 3 shotguns...

    I guess you will either have to turn on alltech and give all upgrades across the board, or make some restrictions.
  • WigglyWiggly Join Date: 2014-01-02 Member: 191375Members
    edited January 2014
    Soul_Rider wrote: »
    Look forward to mucking around with it on some servers. Although you could find people just playing this instead of combat mod because of some of the current problems.

    Balance is going to be a big problem though...

    Will this give armor/weapon upgrades too? It won't be much fun for a bunch of marines with lvl 1 shotties running around while someone rofl stomps them as an onos with all abilities, likewise it won't be fun for someone practicing skulking to come up against fully upgraded lvl 3 shotguns...

    I guess you will either have to turn on alltech and give all upgrades across the board, or make some restrictions.

    All tech and upgrades are given so marines always have A3 and W3 and aliens always have their upgrades and abilities. That being said, this mod is not a separate game mode itself and it's not supposed to be balanced. It's goal is to coexist and promote a normal game of NS2. It is my belief that adding balance to PGP would develop its own game flow and acknowledge it as a separate game mode. As a result, it becomes a considerable distraction to the players of the server and hinder the process of starting a real match. Therefore, PGP seeks to provide players with the ability to be silly and goof around, which normally does not occur in a match of NS2. If they all want to turn into exos and onos for creating a tower to the ceiling of Cargo, I want them to be able to. It is up to the players to decide what rules they want during PGP and to uphold them. Naturally this is more successful with a small group of people and this mod happens to cater to servers when they're at low population. If they really want a balanced game they can put their big boy pants on, get commanders, and start a match.
  • KiloKilo Join Date: 2013-09-01 Member: 187529Members, Reinforced - Shadow
    edited February 2014
    Vexta High Skill Only Competitive UK Server
    16 Man
    78.129.232.62:27021

    This is a great mod and is currently ran on our clan server listed above.

    We run friendly fire on our servers and one problem I have found is that sometimes (like every 1/10 matches) friendly fire is active at the pregame inbetween PGP and the real game starting. I dont mind friendly fire being on during PGP and obviously I want it on during the real game, the issue I have is when it bugs and friendly-fire is on after PGP (during the pre game where you choose your coms to start the actual game) players are able to damage structures, this is a problem as it enables trolls to destory the ip and stop people spawning or worst, destroy the cc/hive and stop the game from being able to start.

    I'm also not sure what circumstances are causing it to keep friendly fire on inbetween PGP and the real match because like I said it only happens around every 1/10 games.

    I really need this sorting to be able to continue using this great mod on our server, any solution will do, maybe forcing friendly fire off for PGP will fix this bug? I'd rather you could disable friendly-fire in PGP anyway as a lot of people use this to troll and just end up getting in exos and killing anyone that spawns.

    Also I have a question about "CheckLimit" (description - If true, PGP checks the PlayerLimit to toggle on/off (does not occur during a match). If at or over the player limit, PGP turns off, else it turns on. If false, PGP ignores the player limit.) - If false how does PGP turn off for you to start the game? When both teams have a com?
  • CarNagE1CarNagE1 Poland Join Date: 2003-05-14 Member: 16298Members, NS2 Playtester, Reinforced - Shadow, WC 2013 - Supporter, Subnautica Playtester
    We are using it on our server Battle Gorge Royale. Great mod. Needs some more info when the game realy start. Restarting and disabling mod is a litlle confusing for new players. Maybe a count down for game start.
  • WigglyWiggly Join Date: 2014-01-02 Member: 191375Members
    edited February 2014
    @Kilo
    The bug with being able to damage things in pregame should be fixed now.

    Disabling friendly fire in PGP will give the impression that it is also off in a match. Being consistent with the friendly fire settings between PGP and your matches would avoid potential confusion. If anything, being able to friendly fire your teammates in PGP will stress that your server has it enabled and force new guests to be more careful before they kill a teammate in a match. Of course this opens the problem you brought up with players spawn camping their teammates. My belief is that your server's rules against griefing should apply to people abusing PGP. If a player is going to be a jerk and abuse friendly fire in PGP, their unscrupulous behavior is likely to carry over to a real match. Your community should take this time to warn the player that their behavior is unacceptable, and if they do not listen, then you already know they're going to be a trouble maker before a match even starts.

    I've discussed CheckLimit with Kilo already but for anyone else who might need clarification, disabling CheckLimit only prevents PGP from toggling on or off based on the set player limit. PGP never prevents a match from starting but it will always turn off functionality when a match does start.



    @CarNagE1
    Yeah, trying to inform players about the mod has been a challenge.

    The restarting is a bit unsettling. This was a feature added before the mod became a Shine plugin so it is a bit clunky. I do want to change it though, possibly to have an obnoxious red text in the middle with a countdown to when PGP is going to shut off or turn back on. However I don't know when I'd scrap up enough time to implement and test it so it's not going to get done soon.

    A counter for when the match starts isn't too easy for me to implement. For compatibility sake, PGP doesn't actually control whether a match starts. It could start because there are two commanders, or Shine's Pregame plugin forces it to start based on its rules. As a result it's a bit difficult on my side to know when a game should start as that can come from NS2's standard rules or some unknown mod. There is the option to restart the match after it started, enforce my custom timer, and restart it again but that's pretty damn awkward.
  • FehaFeha Join Date: 2006-11-16 Member: 58633Members
    edited February 2014
    Maybe make a function DelayedStartGame( delay, [pre-/post-callback?] ) which mods can use? Basically would be a simple function that displays a timer until the delay finished, at which point it starts the game. With optional callback(s) that could be used for the mod to set stuff directly before or after the game starts.
    This would let some future mods (or existing mods you can convince the author of/have access to) take your mod in account and check for that function. if it exists and pregame is currently enabled, they would use it, otherwise the default one.
  • WigglyWiggly Join Date: 2014-01-02 Member: 191375Members
    @Feha
    Although that's possible, I don't like the idea of putting the responsibility on other mod authors and taking up their time setting up special cases for PGP.

    I think it would be easier to add a countdown for a match all the time but give a config to enable/disable it. This would allow server admins to disable it if they have something that already does a counter, like Pregame, so it doesn't do things like a Pregame timer, the PGP timer, and the default counter that NS2 already does before a match.

    However, I hope adding an actual timer for when PGP toggles on/off will make it more obvious so I don't need to force a new countdown before NS2's normal one.



    @CarNagE1
    Completely forgot to mention this but if you don't like the mod turning itself on/off, you can disable checking for the player limit in the config. It is important to note that the feature exists to prevent people from just playing around in the pregame state instead of starting a match. If you have a mod that encourages people to start matches faster, I would recommend using that and changing PGP's CheckLimit to false. For example, I have seen a few servers successfully use Shine's Pregame plugin to force a countdown to start a match on 1 comm, and PGP set to not check player limits.
  • DarkflameQDarkflameQ Join Date: 2013-02-28 Member: 183451Members
    @wiggly, do you have time / plans to adjust this mod to work with the Marine vs Marine mod?
  • twilitebluetwiliteblue bug stalker Join Date: 2003-02-04 Member: 13116Members, NS2 Playtester, Squad Five Blue
    I love this mod! More servers should install it.

    One addition I'd like to see is to unlock all alien abilities so new players can experiment with them.

    Also, the damage aura from the Hive and the Command Station could be drastically widened to discourage spawn camping.
  • GhoulofGSG9GhoulofGSG9 Join Date: 2013-03-31 Member: 184566Members, Super Administrators, Forum Admins, Forum Moderators, NS2 Developer, NS2 Playtester, Squad Five Blue, Squad Five Silver, Reinforced - Supporter, WC 2013 - Supporter, Pistachionauts
    I love this mod! More servers should install it.

    One addition I'd like to see is to unlock all alien abilities so new players can experiment with them.

    Also, the damage aura from the Hive and the Command Station could be drastically widened to discourage spawn camping.

    ?

    The mod allready unlocks all abilities etc. ( at least in the shine version )
  • NordicNordic Long term camping in Kodiak Join Date: 2012-05-13 Member: 151995Members, NS2 Playtester, NS2 Map Tester, Reinforced - Supporter, Reinforced - Silver, Reinforced - Shadow
    He might be thinking of comp mod and pg+ not playing nice together.
  • twilitebluetwiliteblue bug stalker Join Date: 2003-02-04 Member: 13116Members, NS2 Playtester, Squad Five Blue
    james888 wrote: »
    He might be thinking of comp mod and pg+ not playing nice together.
    I see. The server I joined did have both mods.
  • xDragonxDragon Join Date: 2012-04-04 Member: 149948Members, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow
    I found a bug, it seems that this mod causes any cancelled researches to not refund their costs. I would hazard a guess that there needs to be a game state check in here, but I cannot be completely sure as I was looking at the code from HBZ all-in-one modpack.
    function Plugin:LookupTechData(techId, fieldName, default)
    	if self.dt.Enabled and ( fieldName == kTechDataUpgradeCost or fieldName == kTechDataCostKey ) then         
    		if not self.dt.AllowOnosExo and ( techId == kTechId.Onos or techId == kTechId.Exosuit or techId == kTechId.ClawRailgunExosuit ) then
    			return 999
    		end
    		
    		if not self.dt.AllowMines then 
    			if Gamemode == "ns2" and techId == kTechId.LayMines or Gamemode == "mvm" and ( techId == kTechId.DemoMines or techId == kTechId.Mine ) then
    				return 999 
    			end
    		end	
    		
    		return 0
    	end
    end
    
  • GhoulofGSG9GhoulofGSG9 Join Date: 2013-03-31 Member: 184566Members, Super Administrators, Forum Admins, Forum Moderators, NS2 Developer, NS2 Playtester, Squad Five Blue, Squad Five Silver, Reinforced - Supporter, WC 2013 - Supporter, Pistachionauts
    edited July 2014
    xDragon wrote: »
    I found a bug, it seems that this mod causes any cancelled researches to not refund their costs. I would hazard a guess that there needs to be a game state check in here, but I cannot be completely sure as I was looking at the code from HBZ all-in-one modpack.
    function Plugin:LookupTechData(techId, fieldName, default)
    	if self.dt.Enabled and ( fieldName == kTechDataUpgradeCost or fieldName == kTechDataCostKey ) then         
    		if not self.dt.AllowOnosExo and ( techId == kTechId.Onos or techId == kTechId.Exosuit or techId == kTechId.ClawRailgunExosuit ) then
    			return 999
    		end
    		
    		if not self.dt.AllowMines then 
    			if Gamemode == "ns2" and techId == kTechId.LayMines or Gamemode == "mvm" and ( techId == kTechId.DemoMines or techId == kTechId.Mine ) then
    				return 999 
    			end
    		end	
    		
    		return 0
    	end
    end
    

    First , just as a note, the code snippet is from pg++ ( part of Shine ExtraPlugins ) and not from pgp ;)

    Actually there is allready a gamestate check as
    self.dt.Enabled
    
    gets changed to false once the gamestate changes to any other state than NotStarted (Plugin.dt are networked values in shine).

    The real culpit here causing the issue was that TechNode Objects cache their costs at init. And therefor they return that cached value at GetCost() which is used by the RecycleMixin.

    As the TechNodes are only initialised when the Gamerules are create they cached the pg++ costs (which are 0).

    This was actually pretty easy to fix by redefining TechNode:GetCost():
    function TechNode:GetCost()
       return LookupTechData(self.techId, kTechDataCostKey, 0)
    end
    

    Anyway thanks for reporting i just fixed this for pg++
  • xDragonxDragon Join Date: 2012-04-04 Member: 149948Members, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow
    Well, at least I had the right person :D
Sign In or Register to comment.