Morgoth appears before Sauron killed

New ideas, features you wish were in the game.
Post Reply
PowerWyrm
Balrog
Posts: 1574
Joined: Sun 27.11.2005, 15:57

Morgoth appears before Sauron killed

Post by PowerWyrm » Sat 19.04.2008, 11:59

Description:
The stairs to 5000ft should not appear until you have killed Sauron.

This will raise a ton of problems if implemented this way... the same as the ones you'd face if implementing the random quests from most of Angband variants.
This is clearly a feature of vanilla Angband designed for a single-player game. However, Morgoth should not indeed appear for players that didn't kill Sauron yet.
This is the idea I came up for PWMAngband, see what you think about it:
- cave_gen(): RF1_QUESTOR implemented so that all questor monsters are generated when a player enters a questor level (optional... just felt it better this way)
- place_monster_one(): added a flavor message when Sauron and Morgoth are generated (optional again)
- place_monster_one(): if the monster we want to generate is "Morgoth", then check that all players on the level have killed Sauron; if not, don't generate "Morgoth"
- check_Morgoth(): new function... checks for a player if Morgoth is present on the same level as the player; if so and the player has not killed Sauron yet, recalls the player immediately with a message ("You hear Sauron's laughter as his spell drives you out of the dungeon!")
- call check_Morgoth() in the following routines: player_setup (a player that hasn't killed Sauron enters 5000ft or deeper and saves on that level; later, another player having killed Sauron already enters the same level and stays long enough for Morgoth to spawn; shortly after, the first player comes back...), hit_trap (a player that hasn't killed Sauron hit a trap door at 4950ft and falls to 5000ft where another player is already fighting Morgoth), move_player(not really required here... except if some evil DM thought it would be fun to summon Morgoth in the wilderness), do_cmd_go_up (a player that hasn't killed Sauron goes one level up to 5000ft or deeper where another player is already fighting Morgoth), do_cmd_go_down (a player that hasn't killed Sauron goes one level down to 5000ft or deeper where another player is already fighting Morgoth), process_player_end(a player that hasn't killed Sauron recalls to 5000ft or deeper where another player is already fighting Morgoth) and teleport_player_level

Jug
King Lich
Posts: 342
Joined: Sat 26.10.2002, 15:00
Location: UK
Contact:

Re: Current ticket: Morgoth appears before Sauron killed

Post by Jug » Sat 19.04.2008, 15:34

There will be no problems with this change. The ticket describes the vanilla behaviour. In Mang it will just be translated to a player can't go below 4950 if he hasn't killed Sauron and can't go below 5000ft if he hasn't killed Morgoth.

PowerWyrm
Balrog
Posts: 1574
Joined: Sun 27.11.2005, 15:57

Re: Morgoth appears before Sauron killed

Post by PowerWyrm » Wed 23.04.2008, 10:55

This is quite restrictive... no more bottom diving with level <50 chars. But since this is the behavior in vanilla...

Post Reply