Survival Arena

From Meridian 59 - Open Source Wiki
Jump to: navigation, search

Concept

A set of instances that players can go to to test their metal against hordes of monsters that get tougher as the event goes on. The event continues until all players inside have been killed. Statistics such as number of monsters killed, how long each level lasted, how long (and for how many levels) the team lasted are stored so that attempts to beat previous records can be made and reported upon. Includes a method of setting up a team of 1-5 players to enter the event. Rewards for various levels of completion can be determined.

Methodology

Class: SurvivalTeam

Function: holds members of and statistics about a single or group of players

Example Messages:

  • AddMember(oWho)
  • RemoveMember(oWho)
  • GetMembers(lWho)
  • ComplededLevel(time_taken)
  • CompletedEvent(reached_level, total_time_taken)
  • PlayerDied(oWho)
  • GetName
  • SetName(sName)


Class: SurvivalArena

Function: room that spawns monsters from templates, with increasing difficulty after each successful clear, sends data to the SurvivalTeam

Example Messages:

  • StartEvent(level, oTeam) - starts an event at a specified level, sends players to start location, begins monster spawn
  • GetMonsterTemplate(level) - returns a psuedo random mosnter type (or list of types) with scaled hp/damage/etc for the event level
  • PlayerDied(oWho) - intercepts the usual death code, transport to the stands, leave a corpse that can be PoL'd by a team member to allow re-entry
  • EndEvent(level, oTeam) - event is over when all participants have died
  • SelectArena() - returns one of several possible room instances in which the event will occur

Arena areas:

  • The Arena (duh)
  • The Forests of Meridian
  • Other Unused areas, some large, some small
  • New rooms designed for this purpose
  • Each potential room needs to have player and monster spawns defined