trosnoth issueshttps://foss.heptapod.net/games/trosnoth/-/issues2023-01-17T04:24:56Zhttps://foss.heptapod.net/games/trosnoth/-/issues/94In Juggernaut mode, JuggerBot comes back after a human Juggernaut dies2023-01-17T04:24:56ZJoshua D. BartlettIn Juggernaut mode, JuggerBot comes back after a human Juggernaut diesAnother human should normally be made Juggernaut.Another human should normally be made Juggernaut.https://foss.heptapod.net/games/trosnoth/-/issues/93Starting games from admin console always starts Humans vs. Machine games2023-01-17T04:02:14ZJoshua D. BartlettStarting games from admin console always starts Humans vs. Machine gamesThere is a setting for human vs. machines, but even when you don't select it, it always starts HvM games.There is a setting for human vs. machines, but even when you don't select it, it always starts HvM games.https://foss.heptapod.net/games/trosnoth/-/issues/91Share money action2022-08-11T04:52:00ZPeter HedgesShare money action### Quick summary
Add an action that will throw some arbitrary amount of your own money on the ground in coin form.
### Why it would be valuable
It might be useful to share money between team members to buy an upgrade, like a grenade,...### Quick summary
Add an action that will throw some arbitrary amount of your own money on the ground in coin form.
### Why it would be valuable
It might be useful to share money between team members to buy an upgrade, like a grenade, if nobody can outright afford one. It might also distract players in a shootout. It might let team members stay below the coin drop threshold to avoid the opposing players getting their money.
### Proposal
A new action would be created that would be added to the keybind settings for easy use. Maybe it would be a selectable upgrade as well or instead. This would subtract a certain fixed, arbitrary amount of money from the player. That same amount of money would then be spawned into the world as a collectable coin(s), like the kind players drop when they die. This would bounce around and settle (like usual coins) and could be picked up by any player on any team, be it the original player who changed their mind, a team member or an opposing player if they are lucky enough.https://foss.heptapod.net/games/trosnoth/-/issues/90Trosnoth freezes when hosting a new game when running from code2022-08-10T12:39:58ZPeter HedgesTrosnoth freezes when hosting a new game when running from code### Summary
A quick summary of the bug.
### Steps to reproduce
I am on windows and running the game from source, using pyCharm. I click the play button in pyCharm. I then click the "play" word button on the many menu of Trosnoth. Then...### Summary
A quick summary of the bug.
### Steps to reproduce
I am on windows and running the game from source, using pyCharm. I click the play button in pyCharm. I then click the "play" word button on the many menu of Trosnoth. Then host game. Then the "go!" word button. This bug doesn't always happen, but it does happen every couple of times I try and launc the game from source.
### What is the current *bug* behavior?
The game will then either get stuck on a blank white screen with the ui elements and the word "loading" in the middle. Or it will show the game world, but you cannot move around. I also sometimes the trosnoth server list entries twice in the other window. I do not know if this is related.
### What is the expected *correct* behavior?
That the game starts correctly, your person appears and you can move around and stuff.
### Relevant logs and/or screenshots
[Screenshots](https://postimg.cc/gallery/LSXTVTC)
This is my logs when the bug occurs.
```
"C:\Users\Peter\Documents\Python\Trosnoth 2022\venv\Scripts\python.exe" -Wdefault "C:/Users/Peter/Documents/Python/Trosnoth 2022/run-trosnoth.py"
:0: UserWarning: You do not have a working installation of the service_identity module: 'No module named 'service_identity''. Please install it from <https://pypi.python.org/pypi/service_identity> and make sure all of its dependencies are satisfied. Without the service_identity module, Twisted can perform only rudimentary TLS client hostname verification. Many valid certificate/hostname mappings may be rejected.
pygame 2.1.2 (SDL 2.0.18, Python 3.8.5)
Hello from the pygame community. https://www.pygame.org/contribute.html
2022-08-02 12:50:06,599 Failed to check trosnoth.org for stable version: [<twisted.python.failure.Failure OpenSSL.SSL.Error: [('STORE routines', '', 'unregistered scheme'), ('system library', '', ''), ('STORE routines', '', 'unregistered scheme'), ('STORE routines', '', 'unsupported'), ('STORE routines', '', 'unregistered scheme'), ('system library', '', ''), ('STORE routines', '', 'unregistered scheme'), ('STORE routines', '', 'unsupported'), ('STORE routines', '', 'unregistered scheme'), ('system library', '', ''), ('STORE routines', '', 'unregistered scheme'), ('STORE routines', '', 'unsupported'), ('SSL routines', '', 'certificate verify failed')]>]
--- deferred stack ---
Traceback (most recent call last):
Failure: twisted.web._newclient.ResponseNeverReceived: [<twisted.python.failure.Failure OpenSSL.SSL.Error: [('STORE routines', '', 'unregistered scheme'), ('system library', '', ''), ('STORE routines', '', 'unregistered scheme'), ('STORE routines', '', 'unsupported'), ('STORE routines', '', 'unregistered scheme'), ('system library', '', ''), ('STORE routines', '', 'unregistered scheme'), ('STORE routines', '', 'unsupported'), ('STORE routines', '', 'unregistered scheme'), ('system library', '', ''), ('STORE routines', '', 'unregistered scheme'), ('STORE routines', '', 'unsupported'), ('SSL routines', '', 'certificate verify failed')]>]
2022-08-02 12:50:10,259 Exception in callback <TaskStepMethWrapper object at 0x00000282CC530FA0>()
handle: <Handle <TaskStepMethWrapper object at 0x00000282CC530FA0>() created at C:\Users\Peter\Documents\Python\Trosnoth 2022\venv\lib\site-packages\asyncqt\__init__.py:364>
source_traceback: [<FrameSummary file C:\Program Files\Python\Python38\lib\contextlib.py, line 113 in __enter__>, <FrameSummary file C:\Users\Peter\Documents\Python\Trosnoth 2022\trosnoth\network\server.py, line 200 in run>, <FrameSummary file C:\Users\Peter\Documents\Python\Trosnoth 2022\trosnoth\network\server.py, line 214 in __init__>, <FrameSummary file C:\Users\Peter\Documents\Python\Trosnoth 2022\trosnoth\game.py, line 155 in __init__>, <FrameSummary file C:\Users\Peter\Documents\Python\Trosnoth 2022\trosnoth\model\universe.py, line 1589 in __init__>, <FrameSummary file C:\Users\Peter\Documents\Python\Trosnoth 2022\trosnoth\model\universe.py, line 1441 in start>, <FrameSummary file C:\Program Files\Python\Python38\lib\asyncio\tasks.py, line 661 in ensure_future>, <FrameSummary file C:\Program Files\Python\Python38\lib\asyncio\base_events.py, line 431 in create_task>, <FrameSummary file C:\Users\Peter\Documents\Python\Trosnoth 2022\venv\lib\site-packages\asyncqt\__init__.py, line 372 in call_soon>, <FrameSummary file C:\Users\Peter\Documents\Python\Trosnoth 2022\venv\lib\site-packages\asyncqt\__init__.py, line 364 in call_later>]
Traceback (most recent call last):
File "C:\Program Files\Python\Python38\lib\asyncio\events.py", line 81, in _run
self._context.run(self._callback, *self._args)
RuntimeError: Cannot enter into task <Task pending name='Task-25' coro=<ScenarioManager.run_level() running at C:\Users\Peter\Documents\Python\Trosnoth 2022\trosnoth\model\universe.py:1458> created at C:\Users\Peter\Documents\Python\Trosnoth 2022\trosnoth\model\universe.py:1441> while another task <Task pending name='Task-24' coro=<HostGamePage.ok_clicked() running at C:\Users\Peter\Documents\Python\Trosnoth 2022\trosnoth\welcome\play.py:1137> cb=[AsyncCallbackManager.task_done()] created at C:\Program Files\Python\Python38\lib\asyncio\tasks.py:382> is being executed.
2022-08-02 12:50:12,092 Max server tick jitter: 872 ms
```
This is my logs for when a game runs normally for comparison.
```
"C:\Users\Peter\Documents\Python\Trosnoth 2022\venv\Scripts\python.exe" -Wdefault "C:/Users/Peter/Documents/Python/Trosnoth 2022/run-trosnoth.py"
:0: UserWarning: You do not have a working installation of the service_identity module: 'No module named 'service_identity''. Please install it from <https://pypi.python.org/pypi/service_identity> and make sure all of its dependencies are satisfied. Without the service_identity module, Twisted can perform only rudimentary TLS client hostname verification. Many valid certificate/hostname mappings may be rejected.
pygame 2.1.2 (SDL 2.0.18, Python 3.8.5)
Hello from the pygame community. https://www.pygame.org/contribute.html
2022-08-02 12:57:35,590 Failed to check trosnoth.org for stable version: [<twisted.python.failure.Failure OpenSSL.SSL.Error: [('STORE routines', '', 'unregistered scheme'), ('system library', '', ''), ('STORE routines', '', 'unregistered scheme'), ('STORE routines', '', 'unsupported'), ('STORE routines', '', 'unregistered scheme'), ('system library', '', ''), ('STORE routines', '', 'unregistered scheme'), ('STORE routines', '', 'unsupported'), ('STORE routines', '', 'unregistered scheme'), ('system library', '', ''), ('STORE routines', '', 'unregistered scheme'), ('STORE routines', '', 'unsupported'), ('SSL routines', '', 'certificate verify failed')]>]
--- deferred stack ---
Traceback (most recent call last):
Failure: twisted.web._newclient.ResponseNeverReceived: [<twisted.python.failure.Failure OpenSSL.SSL.Error: [('STORE routines', '', 'unregistered scheme'), ('system library', '', ''), ('STORE routines', '', 'unregistered scheme'), ('STORE routines', '', 'unsupported'), ('STORE routines', '', 'unregistered scheme'), ('system library', '', ''), ('STORE routines', '', 'unregistered scheme'), ('STORE routines', '', 'unsupported'), ('STORE routines', '', 'unregistered scheme'), ('system library', '', ''), ('STORE routines', '', 'unregistered scheme'), ('STORE routines', '', 'unsupported'), ('SSL routines', '', 'certificate verify failed')]>]
2022-08-02 12:57:44,797 Exception in callback <TaskWakeupMethWrapper object at 0x00000197EEECED90>(<_GatheringFu...\tasks.py:698>)
handle: <Handle <TaskWakeupMethWrapper object at 0x00000197EEECED90>(<_GatheringFu...\tasks.py:698>) created at C:\Users\Peter\Documents\Python\Trosnoth 2022\venv\lib\site-packages\asyncqt\__init__.py:364>
source_traceback: [<FrameSummary file C:\Users\Peter\Documents\Python\Trosnoth 2022\venv\lib\site-packages\twisted\internet\asyncioreactor.py, line 255 in run>, <FrameSummary file C:\Users\Peter\Documents\Python\Trosnoth 2022\venv\lib\site-packages\asyncqt\__init__.py, line 286 in run_forever>, <FrameSummary file C:\Users\Peter\Documents\Python\Trosnoth 2022\venv\lib\site-packages\asyncqt\__init__.py, line 226 in timerEvent>, <FrameSummary file C:\Program Files\Python\Python38\lib\asyncio\events.py, line 81 in _run>, <FrameSummary file C:\Users\Peter\Documents\Python\Trosnoth 2022\trosnoth\gui\app.py, line 460 in pygame_event_loop>, <FrameSummary file C:\Users\Peter\Documents\Python\Trosnoth 2022\venv\lib\site-packages\asyncqt\__init__.py, line 226 in timerEvent>, <FrameSummary file C:\Program Files\Python\Python38\lib\asyncio\events.py, line 81 in _run>, <FrameSummary file C:\Program Files\Python\Python38\lib\asyncio\tasks.py, line 805 in _done_callback>, <FrameSummary file C:\Users\Peter\Documents\Python\Trosnoth 2022\venv\lib\site-packages\asyncqt\__init__.py, line 372 in call_soon>, <FrameSummary file C:\Users\Peter\Documents\Python\Trosnoth 2022\venv\lib\site-packages\asyncqt\__init__.py, line 364 in call_later>]
Traceback (most recent call last):
File "C:\Program Files\Python\Python38\lib\asyncio\events.py", line 81, in _run
self._context.run(self._callback, *self._args)
RuntimeError: Cannot enter into task <Task pending name='Task-5' coro=<single_entry_task.<locals>.launch_method() running at C:\Users\Peter\Documents\Python\Trosnoth 2022\trosnoth\utils\aio.py:158> wait_for=<_GatheringFuture finished result=[None, None, None, None, None, None, ...] created at C:\Program Files\Python\Python38\lib\asyncio\tasks.py:698> cb=[<TaskWakeupMethWrapper object at 0x00000197EEC94700>()] created at C:\Program Files\Python\Python38\lib\asyncio\tasks.py:382> while another task <Task pending name='Task-27' coro=<PygameRunner.pygame_event_loop() running at C:\Users\Peter\Documents\Python\Trosnoth 2022\trosnoth\gui\app.py:460> cb=[_wait.<locals>._on_completion() at C:\Program Files\Python\Python38\lib\asyncio\tasks.py:507] created at C:\Program Files\Python\Python38\lib\asyncio\tasks.py:382> is being executed.
2022-08-02 12:57:45,022 Max server tick jitter: 982 ms
```
### Possible fixes
I suspect that the reason this happens infrequently is that it is a race condition.https://foss.heptapod.net/games/trosnoth/-/issues/89Main menu window expands uncontrollably2022-08-25T06:00:02ZPeter HedgesMain menu window expands uncontrollably### Summary
The server create menu expands vertically indefinitely when trying to move it.
### Steps to reproduce
I am on Windows. I am running from code, I will check if this is also the case in the official release.
Run trosnoth, c...### Summary
The server create menu expands vertically indefinitely when trying to move it.
### Steps to reproduce
I am on Windows. I am running from code, I will check if this is also the case in the official release.
Run trosnoth, click play, click host game. You are now on the server creation/settings menu. Click and hold the title bar to be able to move the window.
### What is the current *bug* behavior?
The window will begin to grow downwards. The title bar will stay in the same position, but the window will just get taller and taller. The server settings part seems to be centred vertically so after on few seconds it is no longer accessible.
### What is the expected *correct* behavior?
The correct behaviour should be that the window stays the same size.
### Relevant logs and/or screenshots
I can get one if you want.
### Possible fixes
This does not seem to effect the prior two menus, I would try and replicate what they have done differently.Next releasehttps://foss.heptapod.net/games/trosnoth/-/issues/86Upgrade: Imposter2022-07-16T02:35:05ZPeter HedgesUpgrade: Imposter### Quick summary
An upgrade that would make a player visually appear as though they were apart of the opposing team.
### Why it would be valuable
It would be an interesting tacticle choice, to infiltrate an enemy zone without raising...### Quick summary
An upgrade that would make a player visually appear as though they were apart of the opposing team.
### Why it would be valuable
It would be an interesting tacticle choice, to infiltrate an enemy zone without raising suspicion because you look like the enemy team.
### Proposal
When a player buys this upgrade they would have the colour of their head changed to that of the opposing team. The face colour should probably remain as the orignal colour when viewed by team members, with some kind of indicator sprite showing that they are currently being an imposter. The hair style and name could also be changed to a randomly selected member of the opposing team to be extra convincing. Bullets should probably remain the orignal colour as well as kill and not kill the right teams. Otherwise it would just be super confusing. Zone crystals should probably react to you according to your oringal team colour as well. It's just a warpaint visual change, not effecting all of the other systems of the game. The upgrade would be timed. You would appear as your original colour on the minimap.https://foss.heptapod.net/games/trosnoth/-/issues/85Upgrade: Slow field2022-07-16T02:28:59ZPeter HedgesUpgrade: Slow field### Quick summary
An upgrade that will create a visible area around the player which slows enemies that pass through it.
### Why it would be valuable
Instead of being just a plain offensive or defensive upgrade, this potentially has a...### Quick summary
An upgrade that will create a visible area around the player which slows enemies that pass through it.
### Why it would be valuable
Instead of being just a plain offensive or defensive upgrade, this potentially has a lot of tacticle applications that will probably only be discovered once it has been made.
### Proposal
When a player buys this upgrade a coloured circle of some arbitrary size would appear, centered on the player. This circle (field) would move with the player. The circle would be coloured the players team colour so that people could easily be aware of its range. On the screen of the player that purchased this upgrade the edges of the circle could be blurred to a greater radius that is determined by the smoothing time of their client. This would make it more clear that it would work inconsistently in that area. Enemy players in this zone could have their momentum halved for the duration that they are in it. Bullets and other projectiles could also be effected. The upgrade should probably only last for a fixed amount of time.https://foss.heptapod.net/games/trosnoth/-/issues/84Upgrade: Tiny person2022-07-16T02:22:59ZPeter HedgesUpgrade: Tiny person### Quick summary
An upgrade that will make your player small for a short period of time.
### Why it would be valuable
It would make it harder for the small player to be hit by bullets, giving a different kind of advantage in dog figh...### Quick summary
An upgrade that will make your player small for a short period of time.
### Why it would be valuable
It would make it harder for the small player to be hit by bullets, giving a different kind of advantage in dog fights. Anyone could choose to buy it so it should be about as balanced as any other offensive or defensive timed upgrade.
### Proposal
When the player buys the upgrade they shrink to some arbitrary size (like 50%). This would make them harder to see and harder to hit, they would have an easier time dodging. It would be an alternative defensive upgrade to, say, the shield upgrade.https://foss.heptapod.net/games/trosnoth/-/issues/83Upgrade: Portal gun2022-07-16T02:18:14ZPeter HedgesUpgrade: Portal gun### Quick summary
A new upgrade that would have two shots, which would create a pair of portals which players could move between.
### Why it would be valuable
This could allow for extra maneuverability and tactics when navigating the ...### Quick summary
A new upgrade that would have two shots, which would create a pair of portals which players could move between.
### Why it would be valuable
This could allow for extra maneuverability and tactics when navigating the map. If the portals are bidirectional and/or are allowed to be used by both teams, then the benefit goes both ways. Plus, they could be camped to shoot anyone who tries to come through.
### Proposal
The upgrade should have two shots. Each creates a coloured visual artifact that will persist on the first surface it hits. When a player comes into contact with one of these it will transport the player to the location of the other one, preserving the momentum perfectly, but adjusting the angle of the movement appropriately. This is because if two portals are placed on level ground, jumping down into one should launch your up out of the other.
These portals could be monodirectional (only one in and only one out) with indicator arrows. They could be differently coloured or because there could be multiple portals used on a single team at once, they could just be a single colour for a set. There may be some kind of faint line giving an indication of the direction to the portal it is linked too. They could allow only a single team to pass through or all teams. They could allow bullets and/or trosballs to pass through as well. They could dissapate based on a timer or a number of uses.
Mental image:
Think of it like, if you rotated the image of the game so that the portal surface was level ground (x) and that perpendicular to that surface is perfectly vertical (y). Do this in your head for both portals. The x momentum should be preserved but the y momentum should be reversed when passing through the portals. This would cause thehttps://foss.heptapod.net/games/trosnoth/-/issues/81Create "rated" game mode with special restrictions2022-07-03T09:19:58ZJoshua D. BartlettCreate "rated" game mode with special restrictionsAs a precursor to adding a rating system to server games, we need to lock down rated game to ensure they're fair.
- Only server games can be rated
- For a game to be rated, it must be played on the regulation map size for the number of...As a precursor to adding a rating system to server games, we need to lock down rated game to ensure they're fair.
- Only server games can be rated
- For a game to be rated, it must be played on the regulation map size for the number of players involved
Assuming the above conditions are met, the game may be a rated game, which introduces the following additional restrictions:
- No new players can join mid-game
- A player may rejoin if they have left (e.g., their connection drops out)
- The on-the-fly bot balancing will be disabled, but the server may still add a bot from the start of the game if the teams begin unbalanced.Next releasehttps://foss.heptapod.net/games/trosnoth/-/issues/80New achievement: single life victory2022-05-27T05:50:40ZJoshua D. BartlettNew achievement: single life victory### Quick summary
Award an achievement for winning a Trosnoth match without dying.
### Why it would be valuable
This would be a fun challenge for good players.
### More details
This achievement might need to have a minimum map size ...### Quick summary
Award an achievement for winning a Trosnoth match without dying.
### Why it would be valuable
This would be a fun challenge for good players.
### More details
This achievement might need to have a minimum map size and/or a participation requirement (be involved in a certain number of orb captures) to prevent a player from just running away and letting their team win the game for them.https://foss.heptapod.net/games/trosnoth/-/issues/79New achievement: no grappling2022-05-27T05:48:47ZJoshua D. BartlettNew achievement: no grappling### Quick summary
Add a new achievement for winning a Trosnoth match without using the grappling hook.
### Why it would be valuable
Just as a fun challenge.
### More details
This achievement might need to have some kind of participa...### Quick summary
Add a new achievement for winning a Trosnoth match without using the grappling hook.
### Why it would be valuable
Just as a fun challenge.
### More details
This achievement might need to have some kind of participation requirement to make sure that you don't drag down your team and try to gain this by always running away and never being part of things. Perhaps this could be a requirement to be involved in a certain number of zone captures or have a certain number of kills.https://foss.heptapod.net/games/trosnoth/-/issues/77New achievement: 2 minute victory2022-05-26T01:45:22ZJoshua D. BartlettNew achievement: 2 minute victory### Proposal
Add a new achievement which is earned when you win a 3v3 (or larger) Trosnoth match in less than 120 seconds.
### Why it would be valuable
Winning a game quickly is a test of your team's ability to pressure the opponents....### Proposal
Add a new achievement which is earned when you win a 3v3 (or larger) Trosnoth match in less than 120 seconds.
### Why it would be valuable
Winning a game quickly is a test of your team's ability to pressure the opponents. I've always enjoyed challenging myself to do this when playing against bots. Perhaps it should be rewarded.
### Further details
We could potentially also add 1 minute victory and 3 minute victory achievements so that there's a range of awards to aim for.https://foss.heptapod.net/games/trosnoth/-/issues/76New achievement: clean sweep2022-05-26T01:42:33ZJoshua D. BartlettNew achievement: clean sweep### Proposal
New ‘Clean Sweep’ achievement, earned when you win a Trosnoth match with the opponents not having captured a single zone. Only applies to matches with 6 or more players.
### Why it would be valuable
It's a fun thing to ha...### Proposal
New ‘Clean Sweep’ achievement, earned when you win a Trosnoth match with the opponents not having captured a single zone. Only applies to matches with 6 or more players.
### Why it would be valuable
It's a fun thing to happen and worth recognising when it does.https://foss.heptapod.net/games/trosnoth/-/issues/75Implement a ratings system on servers (perhaps Glicko)2022-07-03T09:15:50ZJoshua D. BartlettImplement a ratings system on servers (perhaps Glicko)### Quick summary
Give players a Glicko rating and rating deviation, updated based on Trosnoth matches they play on the server (not variety games).
### Why it would be valuable
This could provide extra motivation for people to come ba...### Quick summary
Give players a Glicko rating and rating deviation, updated based on Trosnoth matches they play on the server (not variety games).
### Why it would be valuable
This could provide extra motivation for people to come back to the server, especially if the ladder of active players is shown on an end screen after each game.
It could also be used to work out automated match-ups for casual games on the server, including with bots.
### Proposal
Each player would be given a Glicko-2 rating (or other ELO-like rating). When Trosnoth matches are played on the server, player ratings would be updated.
If Glicko-2 is used, we might use an update period of, say, one week. When a game is played, a notional rating change would be made (to give the player immediate feedback), but the server would also store the ratings as they were at the start of the week, and at the end of each week, the proper update algorithm could be applied.
We would need to come up with a model for working out the probability of a win based on individual scores in game with multiple players per team.
The server web interface should then prominently show a list of players that have been active this month, along with their current rating. For Glicko-2, we might just display the lower bound of the 95% confidence interval (rating - 2 deviations), so that players can improve their rating by decreasing their rating deviation (by playing more).
This list of active players and ratings could also be displayed in the Trosnoth client, at the end of each Trosnoth match.
The list might also include certain bots at certain difficulty levels (probably RangerBot and AlphaBot, each at all three difficulty levels). We should probably provide some default starting values for the ratings of these bots (perhaps based on a simulated bot tournament), but the bot ratings should be updated when they play in games.
The ratings could be used to work out automated match-ups on the server. When only one human player is on the server, they can be paired with whichever bot is closest in rating to that player. This pairing could be used in a 1v1 game, or it could be used in a 2v2 game with a random other bot placed on both teams. If two players are active on the server, they could be placed in a mixture of 1v1 games against each other, and 2v2 games either against each other plus a bot (selected based on ratings), or humans vs machines, with the bots chosen based on ratings.https://foss.heptapod.net/games/trosnoth/-/issues/73Add a way for players to opt in to be selected as Space Vampire.2022-02-10T05:48:11ZJoshua D. BartlettAdd a way for players to opt in to be selected as Space Vampire.Everyone wants a go at being Space Vampire, but it's currently random among human players.Everyone wants a go at being Space Vampire, but it's currently random among human players.https://foss.heptapod.net/games/trosnoth/-/issues/61Trosball goal score should not reset weapons2021-10-23T11:15:12ZJoshua D. BartlettTrosball goal score should not reset weaponsProposed by players during play-testing.Proposed by players during play-testing.https://foss.heptapod.net/games/trosnoth/-/issues/59Make an easy way to switch to spectator mode from within a server game.2021-10-23T11:06:19ZJoshua D. BartlettMake an easy way to switch to spectator mode from within a server game.To stop people abusing this ability, we probably also need to implement a cool-down period to prevent rejoining, and/or a ´tournament’ flag on a game that prevents new people joining mid-game. Alternatively, when players leave the game c...To stop people abusing this ability, we probably also need to implement a cool-down period to prevent rejoining, and/or a ´tournament’ flag on a game that prevents new people joining mid-game. Alternatively, when players leave the game could keep details like team, respawn time, and upgrades on file for if they rejoin during the same game—this might be nice for cases where the connection is lost and then re-established.https://foss.heptapod.net/games/trosnoth/-/issues/58Starting a 'solo rules' game from the server web interface triggered a Humans...2022-07-12T04:56:23ZJoshua D. BartlettStarting a 'solo rules' game from the server web interface triggered a Humans vs Machines gameNext releasehttps://foss.heptapod.net/games/trosnoth/-/issues/56Team Boost - Valuable Kills2021-10-22T03:55:46ZPeter HedgesTeam Boost - Valuable Kills### Quick summary
A new, expensive team upgrade that causes enemy players to drop more money on death for a short period.
### Why it would be valuable
It could be interesting to allow your team to do a big push, go for kills and drain...### Quick summary
A new, expensive team upgrade that causes enemy players to drop more money on death for a short period.
### Why it would be valuable
It could be interesting to allow your team to do a big push, go for kills and drain the enemy players of their funds, while also potentially allowing your team to earn the cost of the upgrade back. It would be a gamble.
### Proposal
Currently players drop ~35% of the money they have, over $250. Meaning players have a safety threshold of $250, never being forced to drop anything under that. This could reduce or remove this threshold. It could also increase the percentage of money dropped. It could even be fun to have additional coins dropped that did not come from the killed player's money, just bonus coins that have come from nowhere.