UMBC

 
2 Rodney Elliott
2 Rodney Elliott
Height: 6-0
Weight: 180
Year: Fr.
Hometown: Baltimore, Md.
High School: John Carroll
Position: G
gp 30
pts/g 15.0
fg % 45.2
3pt % 35.4
ft % 69.7
reb/g 3.9
a/g 3.6

Accolades: (2013-14): The America East Conference Rookie of the Year, UMBC’s first in 11 league seasons… Also became UMBC’s first men’s basketball player to win America East Fan’s Choice Player of the Year… A finalist for CollegeInsider.com’s 2014 Kyle Macy National Freshman of the Year award… Earned AE Rookie-of-Week honors a UMBC-record five times during the 2013-14 campaign.

 

2013-14:  Finished the year as the leading scorer amongst all league freshmen with 15.0 points per game, which was the fifth-best overall figure in the conference…Placed fourth in America East in assists (3.6), sixth in assist-to-turnover ratio (1.0), and eighth in steals (1.3)… Became UMBC's second NCAA Division I player and America East's lone competitor this season to record 400 points (451), 100 rebounds (118) and 100 assists (108) in a season… Scored 451 points, the most by a freshman in UMBC's 27 years of NCAA Division I competition…  Averaged 15.4 points per game (second) in America East contests... Earned the start at point guard in the season opener and his collegiate debut at Arizona State... Shared scoring honors with Malik Garner, contributing 12 points... Hit the game-tying 3-point field goal with 2.4 seconds remaining to send contest vs. Eastern to OT... Scored 19 points in his home debut and added team-high five assists... Scored 24 of his team-high 26 points after halftime in Nov. 17 overtime victory over Mount St. Mary’s... Named America East Rookie of the Week for games ending Nov. 17, averaging 17.7 points per game over a three-game span... First UMBC first-year player to be honored since Brian Neller was in December of 2009... Hit all nine free throw attempts in an 18-point effort at Duquesne on Dec. 4... Stuffed stat sheet with 17 points, five assists, five rebounds and two steals at Lehigh on Dec. 6... Led UMBC with 16 points and tied season high with six assists in only 21 minutes at Coppin St. on Dec. 11... Selected AEC Rookie of the Week for second time on Dec. 9, 2013...  Scored 20 or more points (21) for the second time in 2013-14 in the victory over Navy on Dec. 30... Set season high with four 3-pt. field goals (4/5)... Led UMBC with 14 points and added six assists at UMass Lowell on Jan. 5. ... Selected AEC Rookie of the Week for third time on Jan. 6, 2014... Became the second UMBC freshman to amass 200 points in his first 14 games – Peter Mulligan totaled 201 in the 2000-01 season... Tied season-bests with eight field goals and four treys, scoring 22 points in 46-minute effort in double OT contest at Albany on Jan. 8... Nearly pulled off UMBC’s first triple- double in 19 years when he recorded 14 points and season bests in rebounds (11) and assists (8) in the victory over Binghamton... Followed up with 21 points at Maine on Feb. 1 and earned his fourth America East Rookie-of-the-Week honor... Scored 20-or-more points in three consecutive games with 21 versus UNH on Feb. 5 and tied season high with 26 points vs. UML on Feb. 8... Earned second consecutive and fifth overall Rookie of the Week honor on Feb. 10... His five rookie honors surpassed former record-holder Chauncey Gilliam, who earned the weekly award four times in the 2008-09 campaign... Finished the season with his seventh game with 20 or more points, when he tallied 21 at Hartford on March 2... His total of 108 assists is the tied for the second-most in a single season by a Retriever freshman... Set UMBC Division I freshman record for free throws made in a season with 124... The first freshman to lead UMBC in scoring since Rich Giddens, who averaged 15.5 points per game in 1997-98...   Played 941 minutes, the fourth-most of any UMBC freshman and posted sixth-most steals (40) and eighth-most caroms (118) for Retriever freshmen. 

 

Background: Earned First Team All-Metro honors from The Baltimore Sun and First Team All-MIAA accolades after a brilliant senior campaign in 2012-13… The point guard led the 7th-ranked Patriots (Baltimore Sun) with 16.6 points per game and also averaged 4.2 rebounds, 3.6 assists and 1.3 steals per outing… Top effort was a 32-point, 9-assist, 6-rebound outing in a win over Mount Carmel… Named All-Baltimore Catholic League and to Harford County First Team in both his junior and senior campaigns… Closed out his high school career with 1,116 points, 287 assists and 171 steals and led John Carroll to back-to-back league titles… His father, Rodney Elliott, Sr., earned four letters at the University of Maryland and competed for Gary Williams’ Terrapins from 1994-98… Selected UMBC “because it’s close to home and a great opportunity to get a great education and play for a great basketball program”… Plays the piano… Son of Deon Coleman and Rodney Elliott… Born Nov. 13, 1995.

CAREER STATISTICS

Year GP/GS Min-Avg. FG-FGA Pct. 3FG-FGA Pct. FT-FTA Pct. Off Def Reb Avg. PF FO A TO Blk Stl Pts. Avg.
2013-14 30-30  941-31.4  141-312  .452  45-127  .354  124-178  .697  19  99  118  3.9 101  3  108 108   40  451  15.0
Career 30-30  941-31.4  141-312  .452  45-127  .354  124-178  .697  19   99  118  3.9  101   3  108  108  1  40  451  15.0



Recent Games
Feb 12 Albany W, 71-69
Feb 15 at Vermont L, 76-52
Feb 19 at Stony Brook L, 72-53
Feb 22 Binghamton L, 72-70
Mar 2 at Hartford L, 67-56
Mar 8 at Albany L, 86-56
Statistics category Overall Conf
Games 30 16
Games started 30 16
Minutes 941 524
Minutes per game 31.4 32.8
FG 141-312 75-170
FG Pct 45.2 44.1
3PT 45-127 24-70
3PT Pct 35.4 34.3
FT 124-178 73-102
FT Pct 69.7 71.6
Off rebounds 19 9
Def rebounds 99 58
Total rebounds 118 67
Rebounds per game 3.9 4.2
Personal fouls 101 50
Disqualifications 3 0
Assists 108 56
Turnovers 108 56
Assist to turnover ratio 1.0 1.0
Steals 40 22
Blocks 1 0
Points 451 247
Points per game 15.0 15.4
Points per 40 min 19.2 18.9
Date Opponent Score gs min fg pct 3pt pct ft pct pts
Nov 8 at Arizona St. L, 96-61 1 24 4-12 33.3 2-10 20.0 2-7 28.6 12
Nov 11 Eastern (Pa.) W, 84-79 1 39 5-15 33.3 1-5 20.0 8-12 66.7 19
Nov 14 at American L, 63-61 1 31 3-7 42.9 0-1 0.0 2-3 66.7 8
Nov 17 Mount St. Mary's W, 90-84 1 42 8-14 57.1 3-6 50.0 7-8 87.5 26
Nov 20 Loyola (Md.) L, 89-83 1 36 4-10 40.0 1-4 25.0 4-6 66.7 13
Nov 23 at Navy L, 73-58 1 20 3-7 42.9 1-4 25.0 1-2 50.0 8
Nov 26 at Towson L, 75-60 1 20 2-5 40.0 1-2 50.0 3-4 75.0 8
Dec 2 UMES W, 64-59 1 26 4-10 40.0 1-3 33.3 1-2 50.0 10
Dec 4 at Duquesne L, 94-88 1 29 4-8 50.0 1-3 33.3 9-9 100.0 18
Dec 7 at Lehigh L, 70-68 1 27 7-9 77.8 1-1 100.0 2-5 40.0 17
Dec 11 at Coppin State L, 91-71 1 21 4-11 36.4 2-4 50.0 6-7 85.7 16
Dec 21 at George Washington L, 74-61 1 34 4-8 50.0 1-3 33.3 1-1 100.0 10
Dec 30 Navy W, 63-48 1 29 8-12 66.7 4-5 80.0 1-4 25.0 21
Jan 5 at UMass Lowell L, 59-54 1 29 4-8 50.0 1-3 33.3 5-6 83.3 14
Jan 8 at Albany L, 73-72 1 46 8-14 57.1 4-7 57.1 2-3 66.7 22
Jan 11 Maine W, 79-76 1 23 2-6 33.3 0-3 0.0 3-5 60.0 7
Jan 15 at New Hampshire L, 56-42 1 30 2-8 25.0 1-4 25.0 5-7 71.4 10
Jan 18 Vermont L, 73-47 1 17 3-9 33.3 1-3 33.3 3-4 75.0 10
Jan 20 Stony Brook L, 81-62 1 32 3-10 30.0 1-5 20.0 6-8 75.0 13
Jan 25 Hartford W, 60-58 1 34 6-15 40.0 2-5 40.0 1-2 50.0 15
Jan 29 at Binghamton W, 73-61 1 34 5-7 71.4 1-2 50.0 3-3 100.0 14
Feb 1 at Maine L, 83-80 1 34 4-12 33.3 1-4 25.0 12-17 70.6 21
Feb 5 New Hampshire W, 68-57 1 37 6-12 50.0 2-5 40.0 7-7 100.0 21
Feb 8 UMass Lowell L, 71-61 1 38 8-17 47.1 2-7 28.6 8-10 80.0 26
Feb 12 Albany W, 71-69 1 33 5-11 45.5 1-3 33.3 5-6 83.3 16
Feb 15 at Vermont L, 76-52 1 24 4-11 36.4 1-4 25.0 0-2 0.0 9
Feb 19 at Stony Brook L, 72-53 1 36 3-7 42.9 1-5 20.0 2-6 33.3 9
Feb 22 Binghamton L, 72-70 1 38 6-9 66.7 3-5 60.0 4-4 100.0 19
Mar 2 at Hartford L, 67-56 1 39 6-14 42.9 2-5 40.0 7-12 58.3 21
Mar 8 at Albany L, 86-56 1 39 6-14 42.9 2-6 33.3 4-6 66.7 18
Date Opponent Score gs min off def reb ast to a/to stl blk pf dq
Nov 8 at Arizona St. L, 96-61 1 24 0 2 2 3 5 0.6 0 0 4 0
Nov 11 Eastern (Pa.) W, 84-79 1 39 0 2 2 5 4 1.3 3 0 4 0
Nov 14 at American L, 63-61 1 31 1 6 7 4 3 1.3 1 0 4 0
Nov 17 Mount St. Mary's W, 90-84 1 42 3 3 6 5 6 0.8 2 0 4 0
Nov 20 Loyola (Md.) L, 89-83 1 36 2 2 4 2 3 0.7 1 0 4 0
Nov 23 at Navy L, 73-58 1 20 0 3 3 0 3 0.0 1 0 5 1
Nov 26 at Towson L, 75-60 1 20 1 1 2 5 0 - 2 0 5 1
Dec 2 UMES W, 64-59 1 26 0 2 2 3 5 0.6 0 0 3 0
Dec 4 at Duquesne L, 94-88 1 29 0 1 1 2 3 0.7 1 0 5 1
Dec 7 at Lehigh L, 70-68 1 27 1 4 5 5 3 1.7 2 1 4 0
Dec 11 at Coppin State L, 91-71 1 21 1 3 4 6 3 2.0 1 0 4 0
Dec 21 at George Washington L, 74-61 1 34 1 6 7 4 7 0.6 1 0 2 0
Dec 30 Navy W, 63-48 1 29 0 3 3 2 4 0.5 1 0 2 0
Jan 5 at UMass Lowell L, 59-54 1 29 1 0 1 6 1 6.0 2 0 4 0
Jan 8 at Albany L, 73-72 1 46 2 3 5 3 5 0.6 2 0 2 0
Jan 11 Maine W, 79-76 1 23 0 3 3 5 1 5.0 1 0 4 0
Jan 15 at New Hampshire L, 56-42 1 30 1 6 7 0 6 0.0 1 0 3 0
Jan 18 Vermont L, 73-47 1 17 0 4 4 0 4 0.0 0 0 4 0
Jan 20 Stony Brook L, 81-62 1 32 0 2 2 3 3 1.0 1 0 4 0
Jan 25 Hartford W, 60-58 1 34 0 2 2 5 2 2.5 1 0 3 0
Jan 29 at Binghamton W, 73-61 1 34 0 11 11 8 2 4.0 1 0 2 0
Feb 1 at Maine L, 83-80 1 34 2 5 7 3 3 1.0 2 0 3 0
Feb 5 New Hampshire W, 68-57 1 37 0 2 2 4 4 1.0 2 0 3 0
Feb 8 UMass Lowell L, 71-61 1 38 3 2 5 3 3 1.0 1 0 3 0
Feb 12 Albany W, 71-69 1 33 0 7 7 4 4 1.0 0 0 4 0
Feb 15 at Vermont L, 76-52 1 24 0 7 7 4 6 0.7 0 0 2 -
Feb 19 at Stony Brook L, 72-53 1 36 0 1 1 2 2 1.0 1 0 3 -
Feb 22 Binghamton L, 72-70 1 38 0 1 1 4 5 0.8 3 0 2 0
Mar 2 at Hartford L, 67-56 1 39 0 2 2 2 5 0.4 4 0 4 -
Mar 8 at Albany L, 86-56 1 39 0 3 3 6 3 2.0 2 0 1 -
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
Total 30 30 31.4 4.7-10.4 45.2 1.5-4.2 35.4 4.1-5.9 69.7 15.0
Conference 16 16 32.8 4.7-10.6 44.1 1.5-4.4 34.3 4.6-6.4 71.6 15.4
Exhibition - - - 0.0-0.0 - 0.0-0.0 - 0.0-0.0 - -
-
Home 13 13 32.6 5.2-11.5 45.3 1.7-4.5 37.3 4.5-6.0 74.4 16.6
Away 17 17 30.4 4.3-9.5 45.1 1.4-4.0 33.8 3.9-5.9 66.0 13.8
Neutral - - - 0.0-0.0 - 0.0-0.0 - 0.0-0.0 - -
-
Wins 9 9 33.0 5.4-11.3 48.0 1.7-4.1 40.5 4.0-5.4 73.5 16.6
Losses 21 21 30.7 4.4-10.0 43.8 1.4-4.3 33.3 4.2-6.1 68.2 14.4
-
November 7 7 30.3 4.1-10.0 41.4 1.3-4.6 28.1 3.9-6.0 64.3 13.4
December 6 6 27.7 5.2-9.7 53.4 1.7-3.2 52.6 3.3-4.7 71.4 15.3
January 8 8 30.6 4.1-9.6 42.9 1.4-4.0 34.4 3.5-4.8 73.7 13.1
February 7 7 34.3 5.1-11.3 45.6 1.6-4.7 33.3 5.4-7.4 73.1 17.3
March 2 2 39.0 6.0-14.0 42.9 2.0-5.5 36.4 5.5-9.0 61.1 19.5
  gp gs min fg pct 3pt pct ft pct pts
Total 30 30 941 141-312 45.2 45-127 35.4 124-178 69.7 451
Conference 16 16 524 75-170 44.1 24-70 34.3 73-102 71.6 247
Exhibition - - - 0-0 - 0-0 - 0-0 - 0
-
Home 13 13 424 68-150 45.3 22-59 37.3 58-78 74.4 216
Away 17 17 517 73-162 45.1 23-68 33.8 66-100 66.0 235
Neutral - - - 0-0 - 0-0 - 0-0 - 0
-
Wins 9 9 297 49-102 48.0 15-37 40.5 36-49 73.5 149
Losses 21 21 644 92-210 43.8 30-90 33.3 88-129 68.2 302
-
November 7 7 212 29-70 41.4 9-32 28.1 27-42 64.3 94
December 6 6 166 31-58 53.4 10-19 52.6 20-28 71.4 92
January 8 8 245 33-77 42.9 11-32 34.4 28-38 73.7 105
February 7 7 240 36-79 45.6 11-33 33.3 38-52 73.1 121
March 2 2 78 12-28 42.9 4-11 36.4 11-18 61.1 39
  gp gs min/g fg/40 pct 3pt/40 pct ft/40 pct pts/40
Total 30 30 31.4 6.0-13.3 45.2 1.9-5.4 35.4 5.3-7.6 69.7 19.2
Conference 16 16 32.8 5.7-13.0 44.1 1.8-5.3 34.3 5.6-7.8 71.6 18.9
Exhibition - - - 0.0-0.0 - 0.0-0.0 - 0.0-0.0 - -
-
Home 13 13 32.6 6.4-14.2 45.3 2.1-5.6 37.3 5.5-7.4 74.4 20.4
Away 17 17 30.4 5.6-12.5 45.1 1.8-5.3 33.8 5.1-7.7 66.0 18.2
Neutral - - - 0.0-0.0 - 0.0-0.0 - 0.0-0.0 - -
-
Wins 9 9 33.0 6.6-13.7 48.0 2.0-5.0 40.5 4.8-6.6 73.5 20.1
Losses 21 21 30.7 5.7-13.0 43.8 1.9-5.6 33.3 5.5-8.0 68.2 18.8
-
November 7 7 30.3 5.5-13.2 41.4 1.7-6.0 28.1 5.1-7.9 64.3 17.7
December 6 6 27.7 7.5-14.0 53.4 2.4-4.6 52.6 4.8-6.7 71.4 22.2
January 8 8 30.6 5.4-12.6 42.9 1.8-5.2 34.4 4.6-6.2 73.7 17.1
February 7 7 34.3 6.0-13.2 45.6 1.8-5.5 33.3 6.3-8.7 73.1 20.2
March 2 2 39.0 6.2-14.4 42.9 2.1-5.6 36.4 5.6-9.2 61.1 20.0
  gp gs mpg off/g def/g reb/g pf/g dq/g ast/g to/g a/to stl/g blk/g
Total 30 30 31.4 0.6 3.3 3.9 3.4 0.1 3.6 3.6 1.0 1.3 0.0
Conference 16 16 32.8 0.6 3.6 4.2 3.1 0.0 3.5 3.5 1.0 1.4 0.0
Exhibition - - - - - - - - - - - - -
-
Home 13 13 32.6 0.6 2.7 3.3 3.4 0.0 3.5 3.7 0.9 1.2 0.0
Away 17 17 30.4 0.6 3.8 4.4 3.4 0.2 3.7 3.5 1.1 1.4 0.1
Neutral - - - - - - - - - - - - -
-
Wins 9 9 33.0 0.3 3.9 4.2 3.2 0.0 4.6 3.6 1.3 1.2 0.0
Losses 21 21 30.7 0.8 3.0 3.8 3.4 0.1 3.2 3.6 0.9 1.4 0.0
-
November 7 7 30.3 1.0 2.7 3.7 4.3 0.3 3.4 3.4 1.0 1.4 0.0
December 6 6 27.7 0.5 3.2 3.7 3.3 0.2 3.7 4.2 0.9 1.0 0.2
January 8 8 30.6 0.5 3.9 4.4 3.3 0.0 3.8 3.0 1.3 1.1 0.0
February 7 7 34.3 0.7 3.6 4.3 2.9 0.0 3.4 3.9 0.9 1.3 0.0
March 2 2 39.0 0.0 2.5 2.5 2.5 - 4.0 4.0 1.0 3.0 0.0
  gp gs min off def reb pf dq ast to a/to stl blk
Total 30 30 941 19 99 118 101 3 108 108 1.0 40 1
Conference 16 16 524 9 58 67 50 0 56 56 1.0 22 0
Exhibition - - - - - - - - - - - - -
-
Home 13 13 424 8 35 43 44 0 45 48 0.9 16 0
Away 17 17 517 11 64 75 57 3 63 60 1.1 24 1
Neutral - - - - - - - - - - - - -
-
Wins 9 9 297 3 35 38 29 0 41 32 1.3 11 0
Losses 21 21 644 16 64 80 72 3 67 76 0.9 29 1
-
November 7 7 212 7 19 26 30 2 24 24 1.0 10 0
December 6 6 166 3 19 22 20 1 22 25 0.9 6 1
January 8 8 245 4 31 35 26 0 30 24 1.3 9 0
February 7 7 240 5 25 30 20 0 24 27 0.9 9 0
March 2 2 78 0 5 5 5 - 8 8 1.0 6 0
  gp gs mpg off/40 def/40 reb/40 pf/40 dq/40 ast/40 to/40 a/to stl/40 blk/40
Total 30 30 31.4 0.8 4.2 5.0 4.3 0.1 4.6 4.6 1.0 1.7 0.0
Conference 16 16 32.8 0.7 4.4 5.1 3.8 0.0 4.3 4.3 1.0 1.7 0.0
Exhibition - - - - - - - - - - - - -
-
Home 13 13 32.6 0.8 3.3 4.1 4.2 0.0 4.2 4.5 0.9 1.5 0.0
There was a problem with a Velocity script
Pagebio-template
ErrorVM #split: too few arguments to macro. Wanted 4 got 3 at bio-template[line 221, column 1]
Page source:
1: ## PICK UP OPTIONS
2: $website.include("options")
3: #set ($options = $request.getAttribute("options"))
4: #set ($locale = "en_us")
5: #set ($locale = $options.get("locale"))
6: 
7: ## HACK TO GET STATS URL FROM RENDERER... NEEDS SERVER CHANGE
8: #set ($bioObject = $page.getDataAsObject())
9: #set ($statsURL = $bioObject.statsURL)
10: 
11: #if ($statsURL.length() > 0)
12:   $website.includeAgain("${statsURL}?tmpl=bio-stats-template")
13:   ## various settings to get the variables set
14:   #set ($events = $request.getAttribute("bio_events"))
15:   #set ($seasons = $request.getAttribute("bio_seasons"))
16:   #set ($career = $request.getAttribute("bio_career"))
17:   #set ($labels = $request.getAttribute("bio_labels"))
18:   #set ($briefs = $request.getAttribute("bio_briefs"))
19:   #set ($gamelogs = $request.getAttribute("bio_gamelogs"))
20:   #set ($splits = $request.getAttribute("bio_splits"))
21:   #set ($statPosition = $request.getAttribute("bio_position"))
22:   #set ($positions = $request.getAttribute("bio_positions"))
23:   #set ($playerId = $request.getAttribute("bio_player_id"))
24:   #set ($highlights = $request.getAttribute("bio_highlights"))
25:   #set ($formats = $request.getAttribute("bio_formats"))
26:   #set ($gamelogsCategoriesLabels = $request.getAttribute("bio_gamelogs_labels"))
27:   #set ($briefsCategoriesLabels = $request.getAttribute("bio_briefs_labels"))
28:   #set ($gamesResults = $request.getAttribute("bio_games_results"))
29:   #set ($monthsPlayed = $request.getAttribute("bio_months_played"))
30: #end
31: 
32: #set ($pos = "")
33: #set ($pos = $attributes.get("position"))
34: #set ($pos = $statPosition)
35: #set ($posVec = $pos.split("/"))
36: #set ($pos = $posVec[0])
37: #set ($pos = $pos.toLowerCase())
38: #set ($statPos = $positions.get($pos))
39: #set ($paramPos = $request.getParameter("pos"))
40: 
41: #set ($playerId = $attributes.get("playerId"))
42: #set ($stats = $splits.overall)
43: #set ($highlights = $highlights.get($statPos))
44: 
45: #set ($showHighlights = true)
46: #if ($options.get("bio_show_highlights") && $options.get("bio_show_highlights") == false)
47: 	#set ($showHighlights = false)
48: #end
49: 
50: #set ($showCareer = $wiki.valid() && $seasons)
51: #if ("yes" == $options.get("stats_show_career") && $seasons)
52:   #set ($showCareer = true)
53: #end
54: 
55: #set ($hasEvents = $events.size() > 0)
56: #set ($hasSynopsis = $synopsis.length() > 1 && $synopsis.indexOf("<center>") == -1)
57: #set ($htmlStatsURL = "${page.url}-stats")
58: #set ($hasHTMLStats = $website.exists($htmlStatsURL))
59: #set ($bioBriefURL = "${page.url}-brief")
60: #set ($hasBioBrief = $website.exists("$bioBriefURL"))
61: #set ($showRoster = ($page.contentType == "loki/bio" && $page.headlinesFeatured.size() > 0) || ($page.contentType == "loki/bio-network" && $page.sectionPage.children.size() > 1))
62: #if ($options.get("bio_hide_roster") == true)
63:   #set ($showRoster = false)
64: #end
65: 
66: #set ($view = "")
67: #if ($hasSynopsis || $hasBioBrief)
68:   #set ($view = "bio")
69: #elseif ($statsURL.length() > 0)
70:   #set ($view = "profile")
71: #elseif ($hasHTMLStats)
72:   #set ($view = "htmlstats")
73: #end
74: 
75: #if ($options.get("bio_default_view").length() > 0)
76:   #set ($checkView = $options.get("bio_default_view"))
77: #end
78: 
79: #if ($request.getParameter("view"))
80:   #set ($checkView = $request.getParameter("view"))
81: #end
82: 
83: #if ($checkView == "profile" && $statsURL.length() > 0)
84:   #set ($view = "profile")
85: #elseif ($checkView == "bio" && ($hasSynopsis || $hasBioBrief))
86:   #set ($view = "bio")
87: #elseif ($checkView == "gamelog" && $statsURL.length() > 0)
88:   #set ($view = "gamelog")
89: #elseif ($checkView == "career" && $showCareer)
90:   #set ($view = "career")
91: #elseif ($checkView == "splits" && $statsURL.length() > 0)
92:   #set ($view = "splits")
93: #elseif ($checkView == "htmlstats" && $hasHTMLStats)
94:   #set ($view = "htmlstats")
95: #end
96: 
97: #macro (gamelogData $p)
98: 
99: #set ($p = $positions.get($p))
100: #set ($gamelogs = $gamelogs.get($p))
101: 	
102: #if ($hasEvents)
103: <div class="stats-box full clearfix">
104: <div class="scrollable">
105: <div>
106: <table>
107:   <tr class="thead">
108:     <th class="text">Date</th>
109:     <th class="pinned-col text">Opponent</th>
110:     <th>Score</th>
111:     #foreach ($gamelog in $gamelogs)
112:       <th>$gamelog</th>
113:     #end
114:   </tr>
115: #foreach ($event in $events)
116:   <tr>
117:     <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
118:     <td class="pinned-col text">
119:       #if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
120:       $event.event.opponent.name
121:     </td>
122:     <td>
123:     #if ($event.event.statusCode >= 0)
124:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
125:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
126:       #else
127:       ${event.event.APResult}
128:       #end
129:     #else &nbsp; #end
130:     </td>
131:     #foreach ($gamelog in $gamelogs.keySet())
132:       #set ($value = "-")
133:       #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
134:       <td>$value</td>
135:     #end
136:   </tr>
137: #end
138: </table>
139: </div>
140: </div> ## scrollable
141: </div> ## stats-box
142: #end
143: 
144: #end ## macro gamelogData
145: 
146: #macro (split $statPosBriefs $label $stats)
147:   <tr>
148:     <td class="pinned-col text">${label}</td>
149:     #foreach ($brief in $statPosBriefs.keySet())
150:       #set ($value = "-")
151:       #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
152:       <td>#if ($value.length() > 0) $value #else - #end</td>
153:     #end
154:   </tr>
155: #end
156: 
157: #macro (careerData $p)
158: #set ($p = $positions.get($p))
159: #set ($statPosBriefs = $briefs.get($p))
160: 
161: <div class="stats-box full clearfix">
162: <div class="scrollable">
163: <div>
164: <table>
165: <tr class="thead">
166:   <th class="pinned-col">&nbsp;</th>
167:   #foreach ($brief in $statPosBriefs)
168:     <th>$brief</th>
169:   #end
170: </tr>
171: 
172: #set ($careerTotals = $request.getAttribute("careerTotals"))
173: #set ($careerMap = $request.getAttribute("careerMap"))
174: 
175: #foreach ($season in $seasons)
176:   ## Check if we did not get stats for this season
177:   #if ($careerMap.get($season.seasonName))
178:     #split($statPosBriefs, $season.seasonName, $careerMap[$season.seasonName])
179:   #elseif ($wiki.valid())
180:     <tr>
181:       <td class="text">${season.seasonName}</td>
182:       <td colspan="${briefs.size()}">We could not find the "players" page in the ${season.seasonName} section.</td>
183:     </tr>
184:   #end
185: #end
186: 
187: #split($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall)
188: 
189: </table>
190: </div>
191: </div> ## scrollable
192: </div> ## stats-box
193: 
194: #end ## macro careerData
195: 
196: #macro (splitsData $p)
197: 
198: #set ($p = $positions.get($p))
199: #set ($statPosBriefs = $briefs.get($p))
200: #set ($colspan = $tool.math.add($statPosBriefs.size(), 1))	
201: 	
202: #if ($statPosBriefs.size() > 0)
203: <div class="stats-box full clearfix">
204: <div class="scrollable">
205: <div>
206: <table>
207:   <tr>
208:     <th class="pinned-col">&nbsp;</th>
209:     #foreach ($brief in $statPosBriefs)
210:       <th>$brief</th>
211:     #end
212:   </tr>
213: 
214: #split($statPosBriefs, "Total", $splits.overall)
215: #split($statPosBriefs, "Conference", $splits.conference)
216: #split($statPosBriefs, "Exhibition", $splits.exhibition)
217: 
218: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
219: 
220: #split($statPosBriefs, "Home", $splits.home)
221: #split($statPosBriefs, "Away", $splits.away)
222: #split($statPosBriefs, "Neutral", $splits.neutral)
223: 
224: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
225: 
226: #foreach($gameResult in $gamesResults.entrySet())
227:   #if ($gameResult.key == "wins")
228:     #set ($splitGameResult = $splits.inWins)
229:   #elseif ($gameResult.key == "losses")
230:     #set ($splitGameResult = $splits.inLosses)
231:   #elseif ($gameResult.key == "ties")
232:     #set ($splitGameResult = $splits.inTies)
233:   #end
234: 	
235:   #split($statPosBriefs, $gameResult.value, $splitGameResult)
236: #end
237: 
238: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
239: 
240: #if ($monthsPlayed and $monthsPlayed.size() > 0)
241:   #foreach($month in $monthsPlayed)
242:     #if ($month == 'January')
243:       #set ($splitMonth = $splits.january)
244:     #elseif ($month == 'February')
245:       #set ($splitMonth = $splits.february)
246:     #elseif ($month == 'March')
247:       #set($splitMonth = $splits.march)
248:     #elseif ($month == 'April')
249:       #set($splitMonth = $splits.april)
250:     #elseif ($month == 'May')
251:       #set ($splitMonth = $splits.may)
252:     #elseif ($month == 'June')
253:       #set ($splitMonth = $splits.june)
254:     #elseif ($month == 'July')
255:       #set($splitMonth = $splits.july)
256:     #elseif ($month == 'August')
257:       #set ($splitMonth = $splits.august)
258:     #elseif ($month == 'September')
259:       #set($splitMonth = $splits.september)
260:     #elseif ($month == 'October')
261:       #set($splitMonth = $splits.october)
262:     #elseif ($month == 'November')
263:       #set ($splitMonth = $splits.november)
264:     #elseif ($month == 'December')
265:       #set($splitMonth = $splits.december)
266:     #end
267: 		
268:     #split($statPosBriefs, $month, $splitMonth)
269:   #end ## foreach
270: #end
271: </table>
272: </div>
273: </div> ## scrollable
274: </div> ## srollable-table
275: #end
276: 
277: #end ## macro splitsData
278: 
279: #macro (printRecentGames)
280: #if ($hasEvents)
281: <table>
282:   <tr class="thead"><th colspan="3">Recent Games</th></tr>
283:   
284: #set ($eventEnd = -1)
285: #foreach ($event in $events)
286:   #if ($event.event.result.resolved)
287:     #set ($eventEnd = $velocityCount)
288:   #end
289: #end
290: 
291: #set ($eventStart = $eventEnd - 5)
292: #if ($eventStart < 0) #set ($eventStart = 0) #end
293: 
294: #foreach ($event in $events)
295: #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
296:   <tr>
297:     <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
298:     <td class="text">
299:       #if ($event.event.neutralSite.length() > 0) vs.
300:       #elseif (!$event.event.home) at
301:       #else ## nothing for a home game
302:       #end
303:       $event.event.opponent.name
304:     </td>
305:     <td class="text">
306:     #if ($event.event.statusCode >= 0)
307:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
308:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
309:       #else
310:       ${event.event.APResult}
311:       #end
312: 	#end
313: 	</td>
314:   </tr>
315: #end ## if
316: #end
317: </table>
318: #end
319: #end ## macro printRecentGames
320: 
321: #macro (printCategories $briefCategoryLabels $v)
322: 	
323: <div class="tab-container secondary clearfix">
324: <div class="tab-nav" data-jscroll="true" data-momentum="false">
325: <div>
326: <ul class="clearfix">
327: #foreach($briefCat in $briefCategoryLabels.entrySet())
328:   #set ($briefCatLabel = $briefCat.value)
329:   #set ($briefCatKey = $briefCat.key)
330: 		
331:   #if ($locale == "en_gb" && $briefCatLabel == "Defense")
332:     #set ($briefCatLabel = "Defence")
333:   #end	
334: 	
335:   <li #if ($activePos == $briefCatKey) class="active" #end><a href="${page.url}?view=${v}&pos=${briefCatKey}">$briefCatLabel</a></li>
336: #end
337: </ul>
338: </div>
339: </div>
340: <div class="tab-panels">
341: #foreach ($briefCat in $briefCategoryLabels.entrySet())
342:   #set ($class = "tab-panel clearfix")
343:   #if ($briefCat.key == $activePos)
344:     #set ($class = "tab-panel active clearfix")
345:   #end
346:   <div class="$class">
347:     <div class="stats-wrap clearfix">
348:     #if ($v == "splits")
349:       #splitsData($briefCat.key)
350:     #elseif ($v == "career")
351:       #careerData($briefCat.key)
352:     #end
353:     </div>
354:   </div>
355: #end	
356: </div>
357: </div> ## tab-container
358: 
359: #end ## macro printCategories
360: 	
361: #macro (printHeadshot)
362: 
363: #if ($attributes.get("number"))<span class="number">$!attributes.get("number")</span>#end
364: 
365: #if ($headshot.url)
366:   <img src="$headshot.url?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
367: #else
368:   #if ($website.exists("/images/setup/headshot_default.jpg"))
369:     <img src="/images/setup/headshot_default.jpg?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
370:   #else
371:     <img src="/info/images/default_headshot.jpg?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
372:   #end
373: #end
374: #end ## macro printHeadshot
375: 	
376: #macro (printBioInfo)
377: <div class="player-name">
378:   #if ($attributes.get("number"))<span class="number">$!attributes.get("number")</span>#end
379:   <span class="name">$fullName</span>
380: </div>	
381: 	
382: <table>
383: #foreach ($i in [1..10])
384:   #set ($stickyKey = "bio_custom${i}_sticky")
385:   #if ($options.get($stickyKey).length() > 0 && $attributes.get("custom${i}").length() > 0)
386:     <tr>
387:       <td class="label">$options.get($stickyKey): </td>
388:       <td class="value">$!attributes.get("custom${i}")</td>
389:     </tr>
390:   #end
391: #end
392: 
393: #foreach ($field in $fields)
394:   #if (!$field.key.startsWith("custom"))
395:     #if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
396:       #if ($field.key == "phone1" || $field.key == "phone2")
397:         <tr>
398:           <td class="label">Phone: </td>
399:           <td class="value">$!attributes.get($field.key)</td>
400:         </tr>
401:       #elseif ($field.key == "email_address")
402:         #set ($emailAdd = $attributes.get($field.key))
403:         <tr>
404:           <td class="label">Email: </td>
405:           <td class="value"><a href="mailto:${emailAdd}">$emailAdd</a></td>
406:         </tr>
407:       #else
408:         <tr>
409:           <td class="label">$field.value: </td>
410:           <td class="value">$!attributes.get($field.key)</td>
411:         </tr>
412:       #end
413:     #end
414:   #end
415: #end
416: 
417: #foreach ($i in [1..10])
418:   #set ($customKey = "bio_custom${i}")
419:   #if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
420:     <tr>
421:       <td class="label">$options.get($customKey): </td>
422:       <td class="value">$!attributes.get("custom${i}")</td>
423:     </tr>
424:   #end
425: #end
426: </table>
427: #end ## macro printBioInfo
428: 	
429: #macro (printHighlights)
430: #foreach ($highlight in $highlights.keySet())
431:   #set ($value = "-")
432:   #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
433:   <div class="stat clearfix">
434:     <span class="stat-title">$!highlights.get($highlight)</span>
435:     <span class="stat-value">$value</span>
436:   </div>
437: #end
438: #end ## macro printHighlights
439: 	
440: #macro (printRoster)
441: #if ($page.contentType == "loki/bio")
442:   #set ($headlinesFeaturedSize = 0)
443:   #foreach ($featuredPage in $page.headlinesFeatured)
444:     #if ($featuredPage.contentType == "loki/headlines")
445:       #set ($headlinesFeaturedSize = $headlinesFeaturedSize + 1)
446:     #end
447:   #end
448:   #if ($headlinesFeaturedSize > 0)
449:     <select class="roster-select-list">
450:       <option selected="selected">Related Bios</option>
451:       #foreach ($featuredPage in $page.headlinesFeatured)
452:         #if ($featuredPage.contentType == "loki/headlines")
453:           $website.includeAgain("${featuredPage.url}?tmpl=roster-list-template&current_url=${page.url}")
454: 		#end
455: 	  #end
456:     </select>
457:   #end
458: #elseif ($page.contentType == "loki/bio-network")
459:   #set ($relatedPlayers = $page.sectionPage.children)
460:   #set ($teamNames = {})
461:   #foreach ($relatedPlayer in $relatedPlayers)
462:     #if ($relatedPlayer.contentType == "loki/bio-network")
463:       #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
464:       #set ($teamName = $relatedPlayerObj.get("team"))
465:       #if ($teamName.length() > 0)
466:         #if (!$teamNames.containsValue($teamName))
467:           $!teamNames.put($tool.math.add($teamNames.size(), 1), $teamName)
468:         #end
469:       #end
470:     #end
471:   #end
472: 
473:   <select class="roster-select-list">
474:   #foreach ($i in [1..$teamNames.size()])
475:     #if ($teamNames.size() > 1)
476:       <optgroup label="$teamNames.get($i)">
477:     #end
478: 				
479:     #foreach ($relatedPlayer in $relatedPlayers)
480:       #if ($relatedPlayer.contentType == "loki/bio-network")
481:         #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
482:         #set ($teamName = $relatedPlayerObj.get("team"))
483:         #if ($teamName.length() > 0 && $teamName == $teamNames.get($i))
484:           #set ($playerFirstName = $relatedPlayerObj.get("first_name"))
485:           #set ($playerLastName = $relatedPlayerObj.get("last_name"))
486:           #if ($page.url == $relatedPlayer.url)
487:             <option value="$relatedPlayer.url" selected="selected">${playerFirstName} ${playerLastName}</option>
488:           #else
489:             <option value="$relatedPlayer.url">${playerFirstName} ${playerLastName}</option>
490:           #end
491:         #end
492:       #end
493:     #end
494: 				
495:     #if ($teamNames.size() > 1)
496:       </optgroup>
497:     #end
498:   #end
499:   </select>
500: #end
501: #end ## macro printRoster
502: 	
503: ################################################## END MACROS  #############################################################
504: 
505: #if ($attributes.get("full_name"))
506:   #set ($fullName = $attributes.get("full_name"))
507: #else
508:   #set ($firstName = $!attributes.get("first_name"))
509:   #set ($lastName = $!attributes.get("last_name"))
510:   #set ($fullName = "${firstName} ${lastName}")
511: #end
512: 
513: ## FULL ROSTER
514: <div class="bio-wrap clearfix">
515: 	
516: ## RELATED BIOS
517: #if ($showRoster)
518:   <div class="related-bios clearfix">#printRoster</div>
519: #end
520:   
521: <div class="head clearfix">
522: <div class="clearfix">
523:     
524: <div class="player-about clearfix">
525:   <div class="player-headshot">#printHeadshot</div>
526:   <div class="player-info">#printBioInfo</div>
527: </div>
528: 
529: #if ($highlights && $showHighlights)
530:   <div class="player-highlights clearfix">#printHighlights</div>
531: #end
532: 
533: </div>
534: </div> ## head
535: 
536: #if ($view.length() > 0)
537: <div class="body clearfix">
538:   
539: <div class="tab-container primary clearfix">
540:   
541: <div class="tab-nav" data-jscroll="true" data-momentum="false">
542:   <div>
543:   <ul class="clearfix">
544:   #if ($hasSynopsis || $hasBioBrief)
545:     <li #if ($view == "bio") class="active" #end><a href="${page.url}?view=bio">Bio</a></li>
546:   #end
547: 		
548:   #if ($statsURL.length() > 0)
549:     <li #if ($view == "profile") class="active" #end><a href="${page.url}?view=profile">Player Profile</a></li>
550:     <li #if ($view == "gamelog") class="active" #end><a href="${page.url}?view=gamelog">Game Log</a></li>
551:     #if ($showCareer)
552:       <li #if ($view == "career") class="active" #end><a href="${page.url}?view=career">Career Stats</a></li>
553:     #end
554:     <li #if ($view == "splits") class="active" #end><a href="${page.url}?view=splits">Split Stats</a></li>
555:   #end
556: 
557:   #if ($hasHTMLStats)
558:     <li #if ($view == "htmlstats") class="active" #end><a href="${page.url}?view=htmlstats">HTML Stats</a></li>
559:   #end
560:   </ul>
561:   </div>
562: </div> ## tab-nav
563: 
564: <div class="tab-panels clearfix">
565: 	
566: ## BIO
567: #if ($hasSynopsis || $hasBioBrief)
568: 
569: #set ($class = "tab-panel clearfix")
570: #if ($view == "bio")
571:   #set ($class = "tab-panel active clearfix")
572: #end
573: <div class="${class}">
574: 
575: <div class="synopsis clearfix">
576: #if ($hasSynopsis)
577:   $synopsis
578: #elseif ($hasBioBrief)
579:   $website.include("$bioBriefURL")
580: #end
581: </div>
582: 
583: </div> ## tab-panel
584: #end 
585: ## BIO
586: 
587: ## STATS
588: #if ($statsURL.length() > 0)
589: 
590: ## PROFILE
591: #set ($class = "tab-panel clearfix")
592: #if ($view == "profile")
593:   #set ($class = "tab-panel active clearfix")
594: #end
595: <div class="${class}">
596: <div class="stats-wrap clearfix">
597: 
598: ## LAST SIX GAMES
599: <div class="stats-box half">
600: #printRecentGames()
601: </div>
602: 
603: ## RANKING
604: <div class="stats-box half">
605: #if ($statPos.length() > 0)
606:   $website.include("../players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}")
607: #end
608: </div>
609: 
610: </div> ## stats-wrap	
611: </div> ## tab-content
612: ## PROFILE
613: 
614: ## GAMELOG
615: #set ($class = "tab-panel clearfix")
616: #if ($view == "gamelog")
617:   #set ($class = "tab-panel active clearfix")
618: #end
619: 
620: #set ($activePos = $statPos)
621: #if ($view == "gamelog" && $paramPos.length() > 0)
622:   #if ($positions.get($paramPos).length() > 0)
623:     #set ($activePos = $positions.get($paramPos))
624:   #end
625: #end
626: 
627: <div class="${class}">
628: 
629: #if ($gamelogsCategoriesLabels)
630: <div class="tab-container secondary clearfix">
631:   <div class="tab-nav" data-jscroll="true" data-momentum="false">
632:     <div>
633:     <ul class="clearfix">
634:     #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
635:       #set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
636: 		
637:       #if ($locale == "en_gb" && $gamelogsCatLabelVal == "Defense")
638:         #set($gamelogsCatLabelVal = "Defence")
639:       #end
640: 
641:       <li #if ($activePos == $gamelogsCatLabel.key) class="active" #end><a href="${page.url}?view=gamelog&pos=${gamelogsCatLabel.key}">$gamelogsCatLabelVal</a></li>
642:     #end
643:     </ul>
644: 	</div>
645:   </div>
646:   <div class="tab-panels">
647:   #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
648:     #set ($class = "tab-panel clearfix")
649:     #if ($gamelogsCatLabel.key == $activePos)
650:       #set ($class = "tab-panel active clearfix")
651:     #end
652:     <div class="${class}">
653:       <div class="stats-wrap clearfix">#gamelogData($gamelogsCatLabel.key)</div>
654: 	</div>
655:   #end   
656:   </div>
657: </div>	
658: #else
659:   <div class="stats-wrap clearfix">#gamelogData($pos)</div>
660: #end
661: 	
662: </div> ## tab-panel
663: ## GAMELOG
664: 
665: 
666: ## CAREER
667: #if ($showCareer)
668: 
669: #set ($activePos = $statPos)
670: #if ($view == "career" && $paramPos.length() > 0)
671:   #if ($positions.get($paramPos).length() > 0)
672:     #set ($activePos = $positions.get($paramPos))
673:   #end
674: #end
675: 
676: #set ($class = "tab-panel clearfix")
677: #if ($view == "career")
678:   #set ($class = "tab-panel active clearfix")
679: #end
680: 
681: <div class="${class}">
682: 
683: #if ($briefsCategoriesLabels)
684:   #printCategories($briefsCategoriesLabels "career")
685: #else
686:   <div class="stats-wrap clearfix">#careerData($activePos)</div>
687: #end		
688: 
689: </div> ## tab-panel
690: #end
691: ## CAREER
692: 
693: ## SPLITS
694: #set ($class = "tab-panel clearfix")
695: #if ($view == "splits")
696: 	#set ($class = "tab-panel active clearfix")
697: #end
698: 
699: #set ($activePos = $statPos)
700: #if ($view == "splits" && $paramPos.length() > 0)
701:   #if ($positions.get($paramPos).length() > 0)
702:     #set ($activePos = $positions.get($paramPos))
703:   #end
704: #end
705: 
706: <div class="${class}">
707: 
708: #if ($briefsCategoriesLabels)
709:   #printCategories($briefsCategoriesLabels "splits")
710: #else
711:   <div class="stats-wrap clearfix">#splitsData($pos)</div>
712: #end		
713: 
714: </div> ## tab-panel
715: ## SPLITS
716: 
717: #end 
718: ## STATS
719: 
720: ## HTML STATS
721: #if ($hasHTMLStats)
722: 
723: #set ($class = "tab-panel clearfix")
724: #if ($view == "htmlstats")
725:   #set ($class = "tab-panel active clearfix")
726: #end
727: <div class="${class}">
728:   <a href="${htmlStatsURL}" class="bio-htmlstats-identifier">Click to view HTML Stats</a>
729: </div>
730: 
731: #end
732: ## HTML STATS
733: 	
734: </div> ## tab-panels
735: </div> ## tab-container
736: </div> ## body
737: #end
738: 
739: $wiki
740: </div> ## ends bio-wrap

View: Mobile | Desktop