Dynamic Rivalries & Momentum UML Diagram
Commentary Event
GameResult
+String currentText +String eventType
+Team winner +Event associatedEvent +List~Player~
+Team loser involvedPlayers
+Map~Team,int~ +String +Time time
finalScore generateCommentary(Event
+Date date event) +void
+void triggerMomentumChange()
updateCommentaryText(String +void
text) updateRivalryImpact()
Game
+Team homeTeam
Season +Team awayTeam
+Map~Team,int~
+List~Game~ listOfGames
score
+Map~Team,int~
+Time gameTime
teamStandings
+List~Event~
+List~RivalryScore~
keyEvents
rivalryHistory
+void startGame()
+void updateStandings()
+void endGame()
+void trackRivalries()
+void
+void
recordEvent(Event
applyMomentumAcrossGames()
event)
+void
updateMomentum()
Team
+String name Player
+List~Player~ roster
+Map~Team, +String name
RivalryScore~ +String position
rivalryScores +Stats stats
+int momentumLevel +float
currentMomentumModifier
+void
updateMomentum() +void performAction()
+void +void
updateRivalryScore(Team applyMomentumModifier()
opponent) +void recoverStamina()
+void
applyMomentumBoost()
Coach
+Team team Stats
+String strategy
+float speed
+Map~String,float~
+float
decisionModifiers
accuracy
+float
+void makeDecision()
stamina
+void
adjustPlayerRoles()
+void
respondToMomentum()
Momentum
+Team team
+int level
+Duration
duration
+List~Player~
affectedPlayers
+void apply()
+void
decayOverTime()
RivalryScore
+Team teamA FanReaction
+Team teamB
+String fanMood
+int scoreValue
+float
+List~GameResult~
homeAdvantageModifier
history
+void updateMood(Event
+void
event)
updateScore(GameResult
+float
result)
calculateHomeAdvantage()
+int
getCurrentRivalryLevel()