Skip to content

Status Effects

RainbowGamer707 edited this page Oct 6, 2021 · 2 revisions

Status Effects (Buffs/Debuffs)

Status effects are entities which can be collected by the player and may trigger some kind of environmental or movement effect on the player. Available status effects are outlines in the com.deco2800.game.effects.StatusEffect enum, but are summarized below:

Effect Name Duration (Seconds) Is Debuff Details
BOMB 4 true Obscures the player screen (not yet implemented)
JUMP 6 false Increases jump height
FAST 4 false Increases player speed
SLOW 4 true Decreases player speed
STUCK 2 true Stops the player
TIME_STOP 2 false Stops the void

A series of methods and Components make these status effects work. On a high level, the spawnStatusEffect(StatusEffect, x, y) method in LevelGameArea can be used to spawn any status effect on the map. In the future, these effects will be able to be saved/loaded from the level file.

Components

StatusEffectController

The StatusEffectController component is used for triggering status effects on players which collide with the entity, it listens for "collisionStart" events and if collided by an entity with an associated StatusEffectTargetComponent, it will trigger a StatusEffectTrigger event with the StatusEffect as an argument. It will automatically "dispose" of itself by ignoring future contacts.

StatusEffectTargetComponent

The StatusEffectTargetComponent is associated with entities which can receive status effects. This component listens for StatusEffectTrigger events and when it receives one, triggers the appropriate effect on the entity or environment.

Currently this component is designed only to work with the player as it relies on other player-specific components, however if desired this component could be adapted to work with any entity.

StatusEffectUIComponent

The StatusEffectUIComponent also listens for StatusEffectTrigger events. When an event is triggered, it will create a spiral countdown clearly showing the time remaining on the effect.

Again, this component could easily be applied to other entities if necessary in future development.

A class diagram is provided below.

Status Effects Class Diagram

Table of Contents

Home


Game Design

Game Design Document

Void/Antivirus

Loading Screen

Game Sound

Menu Assets

Player Design

     Original Design

     Final Design


Gameplay

Movement

Jumping & Sliding

Jump Pads

Portals & Bridges

Buttons

Pick-Ups

Physics

    Momentum & Physics

    Gravity

    Collision


Level Design

Level 1

     Background

     Textures

     Map Design

Level 2

     Background

     Textures

     Map Design

Level 3

     Background

     Textures

     Map Design

Level 4

     Background

     Textures

     Map Design


Sprint Round-Up

Sprint 1 Summary

Sprint 2 Summary

Sprint 3 Summary

Sprint 4 Summary


User Testing

Testing Plans

Sprint 1

     Team 1
     Team 2
     Team 3
     Team 4
     Team 5

Sprint 2

     Team 1
     Team 2
     Team 3
     Team 4
     Team 5

Sprint 3

     Team 1
     Team 2
     Team 3
     Team 4
     Team 5

Sprint 4

     Team 1
     Team 2
     Team 3
     Team 4
     Team 5

User Testing

Sprint 1

     Sprint 1 - Game Audio
     Sprint 1 - Character Design
     Sprint 1 - Menu Assets
     Sprint 1 - Map Design
     Sprint 1 - Void

Sprint 2

     Sprint 2 - Game Audio
     Sprint 2 - Character Design
     Sprint 2 - Menu Assets
     Sprint 2 - Interactable Design Animation
     Sprint 2 - Levels 1 & 4, and Level Editor
     Sprint 2 - Proposed Level 2 & 3 Designs
     Sprint 2 - Current Game State

Sprint 3

     Sprint 3 - Menu Assets
     Sprint 3 - Map Design
     Sprint 3 - Score Display
     Sprint 3 - Player Death and Spawn Animations
     Sprint 3 - Pick Ups and Pause Screen

Sprint 4

     Sprint 4 - Gameplay
     Sprint 4 - Game UI and Animation
     Sprint 4 - Level Background and Music
     Sprint 4 - Game User Testing
     Sprint 4 - Final Game State Testing


Game Engine

Entities and Components

     Status Components
     Event System
     Player Animations Implementation

Level Editor

Level Saving and Loading

Status Effect


Defunct

Development Resources

    Getting Started

Entities and Components

    Level Editor (Saving and Loading
         Multiple Levels)

    Service Locator

    Loading Resources

    Logging

    Unit Testing

    Debug Terminal

Input Handling

    UI

    Level Saving/Loading

    Status Effects

    Animations

    Audio

    AI

    Physics

Game Screens and Areas

    Terrain

    Concurrency & Threading

    Settings


Troubleshooting

MacOS Setup Guide

Clone this wiki locally