Commit Graph

107 Commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks 6a6b8da999 gamemode/server: Fix prop rotation messages appearing without debug log
Also adds the intended angle and player initiating the action
2018-07-05 06:56:44 +02:00
Michael Fabian 'Xaymar' Dirks 45925f2029 gamemode/server/roundmanager: Switch to generated implementation
Like with states, allows reuse and prevents missing elements and uses the Lua engine to do the lookup instead of the Lua parser. Slightly faster, but may not be directly obvious in use.
2018-07-05 06:55:46 +02:00
Michael Fabian 'Xaymar' Dirks bf0673914b gamemode/server/states: Switch to generated implementation
This has the benefit that all base info is present as meta info and setting a member to nil simply uses the meta member instead.
2018-07-05 06:54:05 +02:00
Michael Fabian 'Xaymar' Dirks 8e92eeef70 proxy: Add proxy gamemode
This gamemode is a simple proxy to allow the servers to be listed as "Prop Hunt" (using 'gamemode prop_hunt') while in reality playing "Prop Hunt Extended". This is primarily intended for servers where the barebone Prop Hunt configuration is active.
2018-07-05 03:49:24 +02:00
Michael Fabian 'Xaymar' Dirks b4379e94e6 project: ReadMe and workshop.txt 2018-07-05 02:20:50 +02:00
Michael Fabian 'Xaymar' Dirks 3d91f969c9 Version 1.3.1 v1.3.1 2018-03-04 22:09:10 +01:00
Michael Fabian 'Xaymar' Dirks 05cf316c58 Shared: Use correct ConVar for Config::Teams::SeekerPercentage() 2018-03-04 21:57:43 +01:00
Michael Fabian 'Xaymar' Dirks 3a78c97742 media: Add normal logo 2017-11-26 16:21:59 +01:00
Michael Fabian 'Xaymar' Dirks 6b2ff0b55f gamemode: Implement a fully featured Scoreboard
The original game mode had a Scoreboard and now Prop Hunt Extended also has one. As usual, it has separation by team (Spectator, Hider, Seeker) and has the game mode logo in the top left. This score board is kept very simple and is non-interactive.

Media: https://drive.google.com/uc?id=12uVh2-BSC3p_aPgRSWNRdz3M0zbBj2BZ
v1.3.0
2017-11-26 14:44:26 +01:00
Michael Fabian 'Xaymar' Dirks f5dacddd8c gamemode: Remove dmultilinelabel.lua (See Panel:SetWrap) 2017-11-26 13:50:27 +01:00
Michael Fabian 'Xaymar' Dirks dfdd8f82a3 gamemode: Allow infinite rounds to be played 2017-11-26 13:49:59 +01:00
Michael Fabian 'Xaymar' Dirks 7f3ba60b40 gamemode: Fix Suicide and Team Killing increasing Frags 2017-11-26 13:49:20 +01:00
Michael Fabian 'Xaymar' Dirks 863f099f31 gamemode: Implement Scoreboard support
The game mode will now assign points to teams as well as increment frags and deaths. This paves the way for a proper scoreboard to be added.
2017-11-26 12:54:57 +01:00
Michael Fabian 'Xaymar' Dirks 73a587085c gamemode: Remove the NoCollide constraint on player death 2017-11-26 12:46:02 +01:00
Michael Fabian 'Xaymar' Dirks 20dc523045 media: Add transparent version of the wide logo 2017-11-26 12:41:38 +01:00
Michael Fabian 'Xaymar' Dirks 47b768ffbd content: Rename content directory to prophuntextended 2017-11-26 12:41:06 +01:00
Michael Fabian 'Xaymar' Dirks 7349a96603 gamemode: Implement Alive() function in player classes
This allows checking if the player is actually alive according to the current player class. Some classes are alive to the game, but not to the actual game mode, for example Spectators are alive, but not really.
2017-11-26 12:40:28 +01:00
Michael Fabian 'Xaymar' Dirks be456dc323 gamemode: Fix client load order causing missing files.
Garry's Mod registers lua files in the order they appear, and will immediately run cl_init.lua once it is registered. This occasionally caused includes to error.
2017-11-26 12:38:23 +01:00
Michael Fabian 'Xaymar' Dirks f83464c10b gamemode: Create a few extra fonts 2017-11-26 12:36:33 +01:00
Michael Fabian 'Xaymar' Dirks be017d3d55 gamemode: Fix Hiders getting stuck on themselves
It seems that the physics engine allows the parent to collide with childs, but childs not with the parent. This doesn't make any sense at all.
2017-11-26 09:30:15 +01:00
Michael Fabian 'Xaymar' Dirks 6fbd73b217 gamemode: Remove unused lua code
These are mostly now in sh_config.lua, so there's no need to keep them around.
2017-11-26 08:21:04 +01:00
Michael Fabian 'Xaymar' Dirks ceb9ed1513 data: Remove unused files 2017-11-26 08:11:17 +01:00
Michael Fabian 'Xaymar' Dirks 677ff7b529 gamemode: Only show the selection halo for Hiders
The selection halo was previously visible to everyone in approximate mode, which caused more issues than it should have.
v1.2.1
2017-11-26 04:26:23 +01:00
Michael Fabian 'Xaymar' Dirks 624fc3968e gamemode: Fix wrong id for settings
This caused some of these to overwrite each other.
2017-11-25 13:53:10 +01:00
Michael Fabian 'Xaymar' Dirks eb3b7f3aef gamemode: Add new 'Selection Halo' feature
This feature allows Hiders to easily tell which prop they will turn into if they press Use. As always, it can be fully configured and even turned off. By default it is enabled and set to Approximate mode.

In Approximate mode, the client is responsible for guessing the best match to the Use key, but does not have any actual influence on what they will really turn into. This will in most cases be enough, as the internal Use test relies on the forward vector, which is checked by this mode. For those requiring more accuracy, there is the Accurate mode.

In Accurate mode, the server is responsible for exactly knowing the best match to the Use key and sending this to the user. This has a server performance impact that scales with the player base and the rate at which these updates are performed can be configured. This mode is affected by lag and packet loss, so only really useful for high performance LAN servers or testing.
v1.2.0
2017-11-25 13:25:29 +01:00
Michael Fabian 'Xaymar' Dirks 785f55a017 gamemode: Add Player meta extension
The meta object is extended by some commonly used functionality that Garry's Mod does not expose directly. Some of these are Server only and will produce wrong results on the Client, also due to Garry's Mod not exposing things properly.
2017-11-25 13:14:57 +01:00
Michael Fabian 'Xaymar' Dirks 2691ca4e46 gamemode/compat: Remove old compatibility code 2017-11-25 09:21:59 +01:00
Michael Fabian 'Xaymar' Dirks 8413d8e08e gamemode: Add support for FindUseEntity hook 2017-11-25 09:18:59 +01:00
Michael Fabian 'Xaymar' Dirks 5a4791a097 gamemode/sh_player: Add proper license header 2017-11-25 09:16:20 +01:00
Michael Fabian 'Xaymar' Dirks cc820a89d3 gamemode: Add new and update existing cvars with help text
The command 'cvarlist ph_' should now actually be much more descriptive than before.
v1.1.3
2017-11-25 01:30:06 +01:00
Michael Fabian 'Xaymar' Dirks e8f5fc4b92 compat/tauntpackloader: Fix support for third party taunt packs 2017-11-25 00:16:52 +01:00
Michael Fabian 'Xaymar' Dirks 0091281e90 media: Add wider version of the logo 2017-11-25 00:16:33 +01:00
Michael Fabian 'Xaymar' Dirks 0a1fa75a30 gamemode: Only show nameplates for alive players v1.1.2 2017-11-24 03:53:41 +01:00
Michael Fabian 'Xaymar' Dirks eac0c12d64 Ignore all gma files 2017-11-24 03:13:33 +01:00
Michael Fabian 'Xaymar' Dirks 74d77b5269 class/seeker: Ignore damage done to ragdolls v1.1.1 2017-11-24 03:10:50 +01:00
Michael Fabian 'Xaymar' Dirks 14e32383c4 class/seeker: Properly respect mp_friendlyfire 2
Support for the reflect setting (mp_friendlyfire 2) now properly works and will no longer spew lua errors into the console, while also logging who damaged who with how much damage. This info is critical to server owners that want to know what exactly went down in a match with this option enabled.
2017-11-24 03:10:30 +01:00
Michael Fabian 'Xaymar' Dirks 0efa3f12c0 gamemode: Fix PlayerHurt and PlayerShouldTakeDamage hooks 2017-11-24 03:07:19 +01:00
Michael Fabian 'Xaymar' Dirks f38e70dce9 Rename automated building scripts 2017-11-24 02:06:09 +01:00
Michael Fabian 'Xaymar' Dirks 67c91f9225 media: Add other media 2017-11-24 02:00:24 +01:00
Michael Fabian 'Xaymar' Dirks bc0068a79a media: Update Workshop Icon PSD 2017-11-24 02:00:18 +01:00
Michael Fabian 'Xaymar' Dirks 6ad75df85d Adjust paths to be lowercase (part 2)
Even though git internally knows the difference between upper and lower case, all of it's commands rely on the file system to do so as well. This results in incorrect behavior when renaming A to a for example, as the source and destination is identical on the file system according to git. Windows does support such renames, but git seems to shit itself.
2017-11-24 02:00:08 +01:00
Michael Fabian 'Xaymar' Dirks e8454d4d27 Adjust paths to be lowercase 2017-11-24 01:58:31 +01:00
Michael Fabian 'Xaymar' Dirks e609fb09f4 gamemode: Add support for name plates above players
Name plates are an easy way to identify other players without looking at them or relying on the Target id to appear (which should no longer happen). Several new cvars have been added to make this possible:

- ph_nameplates_show: Show or hide name plates.
- ph_nameplates_scale: World scale, a value of 1 makes 1 pixel equal 1 unit.
- ph_nameplates_height: Height above the player.
- ph_nameplates_tint_hue
- ph_nameplates_tint_saturation
- ph_nameplates_tint_value
- ph_nameplates_tint_health: Tint nameplate using the remaining health, 100% health = green, 0% health = red.
- ph_nameplates_tint_team: Tint nameplates using the players team.
v1.1.0
2017-11-24 01:22:18 +01:00
Michael Fabian 'Xaymar' Dirks b5209f4b60 gamemode: Updated author and contact info
Before the 13th June 2016, the gamemode was indeed largely based on the version Kow@lski released to the Workshop (which was based on the original version AMT released). On 13th June 2016, I took it upon myself to completely rewrite the existing game mode to future proof it for years to come and make it incredibly easy to change.

This means that after the 13th June 2016, the sole author was and still is Michael Fabian 'Xaymar' Dirks.
2017-11-24 01:06:53 +01:00
Michael Fabian 'Xaymar' Dirks 3607102698 media: Use new and improved workshop logo v1.0.1 2017-11-20 05:03:21 +01:00
Michael Fabian 'Xaymar' Dirks 4ee354662f media: Improve ingame icon sharpness 2017-11-20 03:21:24 +01:00
Michael Fabian 'Xaymar' Dirks 98df2f2783 media: Convert ingame icon to Photoshop 2017-11-20 03:21:07 +01:00
Michael Fabian 'Xaymar' Dirks b8a7259d29 Merge code from old remote
The code was previously uploaded to GitLab on my own server, but that will soon no longer be available. Before this happens, here is the code and all updates that were done over there (matching the current released version).

# 27.12.2016 19:17

- Fixed ph_debug_log not showing player taunts.
- Fixed ph_taunt_hiders and ph_taunt_seekers showing left over code debugging messages.
- Fixed ph_teams_weighted the Seeker team, causing players winning Seekers to stay on the Seeker team.
- Added client and server camera ConVars (ph_camera_).
- Fixed camera collisions not using smooth transitions.
- Fixed player model incorrectly hiding too early.

# 18.12.2016 00:55

- Fixed ConVars not being taken from 'Start New Game' menu.
- Added descriptions for each Console Variable.
- Fixed Lua Error appearing when pressing Q as Spectator or Seeker.
- Fixed automatic Taunt Pack loading being overridden by ConVars.
- Fixed Blind Time being stuck at 0 seconds.

# 20.08.2016 18:24

- Fixed: Team Swapping now actually works instead of breaking when there is less than 4 players.
- Changed: Slightly reduced Prop Hitbox size to fix players getting stuck on each other.

# 20.07.2016 21:27

- Fixed a bug which would create both a clientside and a serverside ragdoll on listen servers.
- Added support for MapVote.
- Fixed PostMatch not checking for Round Limit and Map Limit properly.

# 20.06.2016 20:52

- Added taunting ability (ShowSpare1) and convars to define custom packs.
- Added ph_teams_weighted that will assign players using a weighted Score.
- Added convar to unlock Hider rotation to 3-Dimensional mode. (ph_hider_allow_full_rotation)
- Added debug command to print game statistics. (ph_debug_stats)
- Fixed Prop Rotation randomly being delayed by sending additional information.
- Fixed ph_teams_randomize that would assign all players to Seekers.
- Fixed a bug with ph_round_timelimit that made it ignore the blind time or double it.
- Changed Team convars to use the ph_teams_ prefix instead.
- Updated Game UI to look a little bit more modern.

# 19.06.2016 16:58

- Implemented a Gamemode hook to respect the current mp_friendlyfire setting. (0 = Off, 1 = On, 2 = Self-Damage)
- Implemented network messages for synchronized Kill Notifications.
- Implemented ConVars for Taunts for Seekers & Hiders. (ph_taunts_seekers,ph_taunts_hiders)
- Fixed a bug in which Seekers would be able to sprint while sprinting was disabled (and the other way around).
- Implemented Team randomization for 'Original' Gametype. (ph_round_randomizeteams)
v1.0.0
2017-11-19 21:12:58 +01:00
Michael Fabian 'Xaymar' Dirks 704d38dd76 tools: Update logo location 2017-11-19 20:35:16 +01:00
Michael Fabian 'Xaymar' Dirks d331880199 Move Media to sub directory 2017-11-19 20:33:16 +01:00