Move Code into repo

This commit is contained in:
Aaron Kimbre
2022-01-16 12:22:00 -06:00
parent 1eef1854bc
commit 53ffe927f3
196 changed files with 33149 additions and 0 deletions

View File

@@ -0,0 +1,196 @@
<div class="card shadow-sm bg-dark border-primary">
<div class="card-body">
<div class="row">
<div class="col text-center">
<h4>Account Info</h4>
</div>
</div>
<br/>
<div class="row">
<div class="col text-right">
Username:
</div>
<br/>
<div class="col">
{{ account_data.username}}
</div>
</div>
{% if config.USER_ENABLE_EMAIL %}
<div class="row">
<div class="col text-right">
E-mail:
</div>
<br/>
<div class="col">
{{ account_data.email }}
</div>
</div>
{% endif %}
<div class="row">
<div class="col text-right">
Role:
</div>
<div class="col">
{% with gm_level=account_data.gm_level %}
{% include 'partials/_gm_level.html.j2' %}
{% endwith %}
{% if current_user.id != account_data.id %}
{% if current_user.gm_level >= 8 and not(current_user.gm_level == 8 and account_data.gm_level == 8)%}
<a role="button" class="btn btn-primary"
href='{{ url_for('accounts.edit_gm_level', id=account_data.id) }}'>
Edit
</a>
{% endif %}
{% endif %}
</div>
</div>
<div class="row">
<div class="col text-right">
Account Lock Status:
</div>
<br/>
<div class="col">
{% if account_data.locked %}
<h5 class="far fa-times-circle text-danger"></h5> Locked
{% else %}
<h5 class="far fa-check-square text-success"></h5> Not Locked
{% endif %}
</div>
</div>
<div class="row">
<div class="col text-right">
Ban Status:
</div>
<div class="col">
{% if account_data.banned %}
<h5 class="far fa-times-circle text-danger"></h5> Banned
{% else %}
<h5 class="far fa-check-square text-success"></h5> Not Banned
{% endif %}
</div>
</div>
<div class="row">
<div class="col text-right">
Mute Status:
</div>
<div class="col">
{% if account_data.mute_expire != 0 %}
<h5 class="far fa-times-circle text-danger"></h5> Muted Until: <br/>
{{ account_data.mute_expire|ctime }}
{% else %}
<h5 class="far fa-check-square text-success"></h5> Not Muted
{% endif %}
</div>
</div>
<br/>
{% if current_user.id == account_data.id %}
<div class="row">
{% if config.USER_ENABLE_CHANGE_PASSWORD %}
<div class="col">
<a role="button" class="btn btn-primary btn btn-block"
href='{{ url_for('user.change_password') }}'>
Change Password
</a>
</div>
{% endif %}
{% if config.USER_ENABLE_CHANGE_USERNAME%}
<div class="col">
<a role="button" class="btn btn-primary btn btn-block"
href='{{ url_for('user.change_username') }}'>
Change Username
</a>
</div>
{% endif %}
</div>
{% endif %}
{% if account_data.play_key and current_user.gm_level > 3 and config.REQUIRE_PLAY_KEY %}
<hr class="bg-primary"/>
<div class="row">
<div class="col text-center">
<h4>Key Info</h4>
</div>
</div>
<br/>
<div class="row">
<div class="col text-right">
Play Key:
</div>
<br/>
<div class="col">
{{ account_data.play_key.key_string }}
</div>
</div>
<div class="row">
<div class="col text-right">
Uses Left:
</div>
<div class="col">
{{ account_data.play_key.key_uses }}
</div>
</div>
<div class="row">
<div class="col text-right">
Active:
</div>
<div class="col">
{% if account_data.active %}
<h5 class="far fa-check-square text-success"></h5>
{% else %}
<h5 class="far fa-times-circle text-danger"></h5>
{% endif %}
</div>
</div>
{% endif %}
{% if current_user.id != account_data.id and current_user.gm_level > 3 %}
<hr class="bg-primary"/>
<div class="row">
<div class="col text-center">
<h4>Actions</h4>
</div>
</div>
<br/>
<a role="button" class="btn btn-primary btn-block"
href='{{ url_for('accounts.lock', id=account_data.id) }}'>
{% if account_data.locked %}
Unlock
{% else %}
Lock
{% endif %}
</a>
<a role="button" class="btn btn-primary btn-block"
href='{{ url_for('accounts.ban', id=account_data.id) }}'>
{% if account_data.banned %}
Unban
{% else %}
Ban
{% endif %}
</a>
<br/>
{% if account_data.mute_expire %}
<a role="button" class="btn btn-primary btn-block"
href='{{ url_for('accounts.mute', id=account_data.id, days=0) }}'>
Unmute
</a>
{% else %}
<a role="button" class="btn btn-primary btn-block"
href='{{ url_for('accounts.mute', id=account_data.id, days=1) }}'>
Mute for 1 days
</a>
<a role="button" class="btn btn-primary btn-block"
href='{{ url_for('accounts.mute', id=account_data.id, days=7) }}'>
Mute for 7 days
</a>
<a role="button" class="btn btn-primary btn-block"
href='{{ url_for('accounts.mute', id=account_data.id, days=31) }}'>
Mute for 1 month
</a>
<a role="button" class="btn btn-primary btn-block"
href='{{ url_for('accounts.mute', id=account_data.id, days=365) }}'>
Mute for 1 year
</a>
{% endif %}
</div>
{% endif %}
</div>

View File

@@ -0,0 +1,101 @@
<div class="card shadow-sm bg-dark border-primary">
<div class="card-body">
<div class="row">
<div class="col text-center">
<h4>
{{ character.name }}
</h4>
</div>
</div>
<br/>
{% if character.pending_name %}
<div class="row">
<div class="col text-right">
Pending:
</div>
<br/>
<div class="col">
{{ character.pending_name }}
</div>
</div>
{% endif %}
<div class="row">
<div class="col text-right">
Rename:
</div>
<br/>
<div class="col">
{% if character.needs_rename %}
<h5 class="far fa-check-square text-danger"></h5>
{% else %}
<h5 class="far fa-times-circle text-success"></h5>
{% endif %}
</div>
</div>
<div class="row">
<div class="col text-right">
Last Login:
</div>
<div class="col">
{{ character.last_login|ctime }}
</div>
</div>
{% if request.endpoint != "characters.view" %}
<br/>
<div class="row">
<div class="col text-center">
<a role="button" class="btn btn-primary btn-block"
href='{{ url_for('characters.view', id=character.id) }}'>
View Character
</a>
</div>
</div>
{% else %}
<br/>
<div class="row">
<div class="col text-center">
<a role="button" class="btn btn-primary btn-block"
href='{{ url_for('accounts.view', id=character.account_id) }}'>
View Account: {{character.account.username}}
</a>
</div>
</div>
{% endif %}
{% if current_user.id != character.account_id and current_user.gm_level > 2 %}
<hr class="bg-primary"/>
<div class="row">
<div class="col text-center">
<h4>Actions</h4>
</div>
</div>
<br/>
{% if not character.needs_rename %}
<a role="button" class="btn btn-danger btn btn-block"
href='{{url_for('characters.approve_name', id=character.id, action="rename")}}'>
Needs Rename
</a>
{% endif %}
{% if character.pending_name or character.needs_rename %}
<a role="button" class="btn btn-success btn btn-block"
href='{{url_for('characters.approve_name', id=character.id, action="approve")}}'>
Approve Name
</a>
{% endif %}
<a role="button" class="btn btn-primary btn-block"
href='{{ url_for('characters.restrict', id=character.id, bit=4) }}'>
{% if character.permission_map|check_perm_map(4) %}Unrestrict{% else %}Restrict{% endif %} Trade
</a>
<a role="button" class="btn btn-primary btn-block"
href='{{ url_for('characters.restrict', id=character.id, bit=5) }}'>
{% if character.permission_map|check_perm_map(5) %}Unrestrict{% else %}Restrict{% endif %} Mail
</a>
<a role="button" class="btn btn-primary btn-block"
href='{{ url_for('characters.restrict', id=character.id, bit=6) }}'>
{% if character.permission_map|check_perm_map(6) %}Unrestrict{% else %}Restrict{% endif %} Chat
</a>
{% endif %}
</div>
</div>

View File

@@ -0,0 +1,221 @@
<div class="card shadow-sm bg-dark border-primary">
<div class="card-body">
<div class="row">
<div class="col text-center">
<h4>
Chatacter Data
</h4>
</div>
</div>
<div class="row">
<div class="col text-right">
U-Score: {{ character_json.obj.char.attr_ls }}
</div>
<div class="col">
Level: {{ character_json.obj.lvl.attr_l }}
</div>
</div>
<br/>
<div class="row">
<div class="col text-center">
{% set parsed_lzid = character_json.obj.char.attr_lzid|parse_lzid %}
Zone: {{ parsed_lzid[0]|get_zone_name }}<br>
Zone Instance: {{ parsed_lzid[1] }}<br>
Zone Clone: {{ parsed_lzid[2] }}<br>
</div>
</div>
<br/>
<div class="row">
<div class="col text-right">
<img src="{{url_for('luclient.get_icon_iconid', id=4273)}}"
alt="Coins: "
width="32"
height="32">
{{ character_json.obj.char.attr_cc }}
</div>
<div class="col text-center">
<img src="{{url_for('luclient.get_icon_iconid', id=3262)}}"
alt="Health: "
width="32"
height="32">
{{ character_json.obj.dest.attr_hc }}/{{ character_json.obj.dest.attr_hm }}
</div>
<div class="col text-center">
<img src="{{url_for('luclient.get_icon_iconid', id=3263)}}"
alt="Armor: "
width="32"
height="32">
{{ character_json.obj.dest.attr_ac }}/{{ character_json.obj.dest.attr_am }}
</div>
<div class="col">
<img src="{{url_for('luclient.get_icon_iconid', id=1032)}}"
alt="Imagination: "
width="32"
height="32">
{{ character_json.obj.dest.attr_ic }}/{{ character_json.obj.dest.attr_im }}
</div>
</div>
<br/>
<div class="row">
<div class="col text-right">
Play time:
</div>
<div class="col">
{{ (character_json.obj.char.attr_time|int/60/60/24)|int }} Days
{{ (character_json.obj.char.attr_time|int/60/60)|int - ((character_json.obj.char.attr_time|int/60/60/24)|int) * 24}} Hours
{{ (character_json.obj.char.attr_time|int/60 - (character_json.obj.char.attr_time|int/60/60)|int*60)|int }} Minutes
</div>
</div>
<hr class="bg-primary"/>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#generalStatisticsModal">
General Stats
</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#zoneStatisticsModal">
Zone Stats
</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#inventoryModal">
Inventory
</button>
</a>
</div>
</div>
{# Inventory Modal #}
<div class="modal fade" id="inventoryModal" tabindex="-1" role="dialog" aria-labelledby="inventoryModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content bg-dark">
<div class="modal-header">
<div class="modal-title" id="inventoryModalLabel">
Inventories
</div>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<nav>
<div class="nav nav-tabs" id="inv-tab" role="tablist">
<a class="nav-item nav-link active" id="nav-items-tab" data-toggle="tab" href="#nav-items" role="tab" aria-controls="nav-items" aria-selected="true">Items</a>
<a class="nav-item nav-link" id="nav-vault-tab" data-toggle="tab" href="#nav-vault" role="tab" aria-controls="nav-vault" aria-selected="false">Vault Items</a>
<a class="nav-item nav-link" id="nav-bricks-tab" data-toggle="tab" href="#nav-bricks" role="tab" aria-controls="nav-bricks" aria-selected="false">Bricks</a>
<a class="nav-item nav-link" id="nav-models-tab" data-toggle="tab" href="#nav-models" role="tab" aria-controls="nav-models" aria-selected="false">Models</a>
<a class="nav-item nav-link" id="nav-vault-models-tab" data-toggle="tab" href="#nav-vault-models" role="tab" aria-controls="nav-vault-models" aria-selected="false">Vault Models</a>
<a class="nav-item nav-link" id="nav-behaviors-tab" data-toggle="tab" href="#nav-behaviors" role="tab" aria-controls="nav-behaviors" aria-selected="false">Behaviors</a>
</div>
</nav>
<div class="tab-content mt-3" id="nav-invContent">
<div class="tab-pane fade show active" id="nav-items" role="tabpanel" aria-labelledby="nav-items-tab">
{# Inv ID 0 - Index: 0 #}
{% for item in character_json.obj.inv.holdings.in %}
{% if item.attr_t == "0" %}
{% for inv_item in item.i %}
{% include 'partials/charxml/_inv_grid.html.j2' %}
{% endfor %}
{% endif %}
{% endfor %}
</div>
<div class="tab-pane fade" id="nav-vault" role="tabpanel" aria-labelledby="nav-vault-tab">
{# Inv ID 1 - Index: 1 #}
{% for item in character_json.obj.inv.holdings.in %}
{% if item.attr_t == "1" %}
{% for inv_item in item.i %}
{% include 'partials/charxml/_inv_grid.html.j2' %}
{% endfor %}
{% endif %}
{% endfor %}
</div>
<div class="tab-pane fade" id="nav-vault-models" role="tabpanel" aria-labelledby="nav-vault-models-tab">
{# Inv ID 14 - Index: 10 #}
{% for item in character_json.obj.inv.holdings.in %}
{% if item.attr_t == "14" %}
{% for inv_item in item.i %}
{% include 'partials/charxml/_inv_grid.html.j2' %}
{% endfor %}
{% endif %}
{% endfor %}
</div>
<div class="tab-pane fade" id="nav-bricks" role="tabpanel" aria-labelledby="nav-bricks-tab">
{# Inv ID 2 - Index: 2 #}
{% for item in character_json.obj.inv.holdings.in %}
{% if item.attr_t == "2" %}
{% for inv_item in item.i %}
{% include 'partials/charxml/_inv_grid.html.j2' %}
{% endfor %}
{% endif %}
{% endfor %}
</div>
<div class="tab-pane fade" id="nav-models" role="tabpanel" aria-labelledby="nav-models-tab">
{# Inv ID 5 - Index: 6 #}
{% for item in character_json.obj.inv.holdings.in %}
{% if item.attr_t == "5" %}
{% for inv_item in item.i %}
{% include 'partials/charxml/_inv_grid.html.j2' %}
{% endfor %}
{% endif %}
{% endfor %}
</div>
<div class="tab-pane fade" id="nav-behaviors" role="tabpanel" aria-labelledby="nav-behaviors-tab">
{# Inv ID 7 - Index: 8 #}
{% for item in character_json.obj.inv.holdings.in %}
{% if item.attr_t == "7" %}
{% for inv_item in item.i %}
{% include 'partials/charxml/_inv_grid.html.j2' %}
{% endfor %}
{% endif %}
{% endfor %}
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
{# Zone Statistics Modal #}
<div class="modal fade" id="zoneStatisticsModal" tabindex="-1" role="dialog" aria-labelledby="zoneStatisticsModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content bg-dark">
<div class="modal-header">
<h5 class="modal-title" id="zoneStatisticsModalLabel">Zone Statistics</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
{% for zone in character_json.obj.char.zs.s %}
{% include 'partials/charxml/_zone_stats.html.j2' %}
{{ '<hr class="bg-primary"/>' if not loop.last else "" }}
{% endfor %}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
{# General Statistics Modal #}
<div class="modal fade" id="generalStatisticsModal" tabindex="-1" role="dialog" aria-labelledby="generalStatisticsModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content bg-dark">
<div class="modal-header">
<h5 class="modal-title" id="generalStatisticsModalLabel">Statistics</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
{% include 'partials/charxml/_char_stats.html.j2' %}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,35 @@
{#
GAME_MASTER_LEVEL_CIVILIAN = 0, // Normal player.
GAME_MASTER_LEVEL_FORUM_MODERATOR = 1, // No permissions on live servers.
GAME_MASTER_LEVEL_JUNIOR_MODERATOR = 2, // Can kick/mute and pull chat logs.
GAME_MASTER_LEVEL_MODERATOR = 3, // Can return lost items.
GAME_MASTER_LEVEL_SENIOR_MODERATOR = 4, // Can ban.
GAME_MASTER_LEVEL_LEAD_MODERATOR = 5, // Can approve properties.
GAME_MASTER_LEVEL_JUNIOR_DEVELOPER = 6, // Junior developer & future content team. Civilan on live.
GAME_MASTER_LEVEL_INACTIVE_DEVELOPER = 7, // Inactive developer, limited permissions.
GAME_MASTER_LEVEL_DEVELOPER = 8, // Active developer, full permissions on live.
GAME_MASTER_LEVEL_OPERATOR = 9
#}
{% if gm_level==0 %}
Player
{% elif gm_level==1 %}
Key Distrubuter
{% elif gm_level==2 %}
Junior Moderator
{% elif gm_level==3 %}
Moderator
{% elif gm_level==4 %}
Senior Moderator
{% elif gm_level==5 %}
Lead Moderator
{% elif gm_level==5 %}
Junior Developer
{% elif gm_level==7 %}
Inactive Developer
{% elif gm_level==8 %}
Developer
{% else %}
Operator
{% endif %}
(GM Level: {{ gm_level }})

View File

View File

@@ -0,0 +1,101 @@
<div class="card shadow-sm bg-dark border-primary">
<div class="card-body">
<div class="row">
<div class="col text-center">
<h4>
{% if property.name %}
{{ property.name }}
{% else %}
{{ property.zone_id|get_zone_name }}
{% endif %}
</h4>
</div>
</div>
<div class="row">
<div class="col text-center">
{{ property.description }}
</div>
</div>
<br/>
<div class="row">
<div class="col text-right">
Approved:
</div>
<br/>
<div class="col">
{% if property.mod_approved %}
<h5 class="far fa-check-square text-success"></h5>
{% else %}
<h5 class="far fa-times-circle text-danger"></h5>
{% endif %}
</div>
</div>
{# Never get's updated currenlty #}
<div class="row">
<div class="col text-right">
Updated:
</div>
<div class="col">
{{ property.last_updated|ctime }}
</div>
</div>
<div class="row">
<div class="col text-right">
Claimed:
</div>
<div class="col">
{{ property.time_claimed|ctime }}
</div>
</div>
<div class="row">
<div class="col text-right">
Visibility:
</div>
<div class="col">
{% if property.privacy_option == 0 %}
Private
{% elif property.privacy_option == 1 %}
Best Friends
{% else %}
Public
{% endif %}
</div>
</div>
<div class="row">
<div class="col text-right">
Reputation:
</div>
<div class="col">
{{ property.reputation }}
</div>
</div>
{% if request.endpoint != "properties.view" %}
<br/>
<div class="row">
<div class="col text-center">
<a role="button" class="btn btn-primary btn-block"
href='{{ url_for('properties.view', id=property.id) }}'>
View Property
</a>
</div>
</div>
{% else %}
<br/>
<div class="row">
<div class="col text-center">
<a role="button" class="btn btn-primary btn-block"
href='{{ url_for('properties.view_models', id=property.id) }}'>
Render Property
</a>
</div>
</div>
{% endif %}
{% if current_user.gm_level > 2 %}
<br/>
<a role="button" class="btn btn-{% if property.mod_approved %}danger{% else %}success{% endif %} btn-block"
href='{{url_for('properties.approve', id=property.id)}}'>
{% if property.mod_approved %} Unapprove {% else %} Approve {% endif %}
</a>
{% endif %}
</div>
</div>

View File

@@ -0,0 +1,71 @@
<div class="card shadow-sm bg-dark border-primary">
<div class="card-body">
<div class="row">
<div class="col text-center">
<h4>
{% if not item.ugc_id %}
{{ item.lot|get_lot_name }}
{% else %}
UGC: {{ item.ugc.filename.split('.')[0] }}
{% endif %}
</h4>
</div>
</div>
<br/>
{% if item.lot == 14 %}
{# Do nothing for now#}
{% else %}
<div class="row">
<div class="col text-center">
<img src="{{url_for('luclient.get_icon_lot', id=item.lot)}}" alt="{{ item.lot|get_lot_name }}" width="64" height="64">
</div>
</div>
<br/>
<div class="row">
<div class="col text-right">
LOT:
</div>
<br/>
<div class="col">
{{ item.lot }}
</div>
</div>
<div class="row">
<div class="col text-right">
Description:
</div>
<br/>
<div class="col">
{{ item.lot|get_lot_desc }}
</div>
</div>
<br/>
{% endif %}
<div class="row">
<div class="col text-center">
<a role="button" class="btn btn-primary btn-block"
href='{{ url_for('properties.get_model', id=item.id, file_format="lxfml") }}'>
View Model XML
</a>
</div>
</div>
<br/>
<div class="row">
<div class="col text-center">
<a role="button" class="btn btn-primary btn-block"
href='{{ url_for('properties.view_model', id=item.id) }}'>
Render Model
</a>
</div>
</div>
<br/>
<div class="row">
<div class="col text-center">
<a role="button" class="btn btn-primary btn-block"
href='{{ url_for('properties.download_model', id=item.id) }}'>
Download Model
</a>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,242 @@
{% set stats = character_json.obj.char.attr_stt.split(';') %}
<div class="row">
<div class="col text-right">
Currency Collected:
</div>
<div class="col">
{{ stats[0] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Bricks Collected:
</div>
<div class="col">
{{ stats[1] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Smashables Smashed:
</div>
<div class="col">
{{ stats[2] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Quick Builds Completed:
</div>
<div class="col">
{{ stats[3] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Enemies Smashed:
</div>
<div class="col">
{{ stats[4] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Rockets Used:
</div>
<div class="col">
{{ stats[5] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Missions Completed:
</div>
<div class="col">
{{ stats[6] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Pets Tamed:
</div>
<div class="col">
{{ stats[7] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Imagination Power Ups Collected:
</div>
<div class="col">
{{ stats[8] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Life Power Ups Collected:
</div>
<div class="col">
{{ stats[9] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Armor Power Ups Collected:
</div>
<div class="col">
{{ stats[10] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Meters Traveled:
</div>
<div class="col">
{{ stats[11] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Times Smashed:
</div>
<div class="col">
{{ stats[12] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Total Damage Taken:
</div>
<div class="col">
{{ stats[13] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Total Damage Healed:
</div>
<div class="col">
{{ stats[14] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Total Armor Repaired:
</div>
<div class="col">
{{ stats[15] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Total Imagination Restored:
</div>
<div class="col">
{{ stats[16] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Total Imagination Used:
</div>
<div class="col">
{{ stats[17] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Distance Driven:
</div>
<div class="col">
{{ stats[18] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Time Airborne in Car:
</div>
<div class="col">
{{ stats[19] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Racing Imagination Power Ups Collected:
</div>
<div class="col">
{{ stats[20] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Racing Imagination Crates Smashed:
</div>
<div class="col">
{{ stats[21] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Racing Car Boosts Activated:
</div>
<div class="col">
{{ stats[22] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Racing Times Wrecked:
</div>
<div class="col">
{{ stats[23] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Racing Smashables Smashed:
</div>
<div class="col">
{{ stats[24] }}
</div>
</div>
<div class="row">
<div class="col text-right">
Races Finished:
</div>
<div class="col">
{{ stats[25] }}
</div>
</div>
<div class="row">
<div class="col text-right">
First Place Race Finishes:
</div>
<div class="col">
{{ stats[26] }}
</div>
</div>

View File

@@ -0,0 +1,24 @@
<div class="inventory-item">
<img
src="{{url_for('luclient.get_icon_lot', id=inv_item.attr_l)}}"
alt="{{ inv_item.attr_l|get_lot_name }}"
class="border p-1 border-primary rounded m-1"
width="60"
{% if inv_item.attr_eq == "true" %}style="background-color:#d16f05;"{% endif %}
height="60"
data-html="true"
data-toggle="tooltip"
data-placement="left"
title="{% include 'partials/charxml/_item_tooltip.html.j2' %}"
>
{% if inv_item.attr_c != "1" %}
<span class="inventory-count text-bold">
{{ inv_item.attr_c }}
</span>
{% endif %}
{% if inv_item.attr_b == "true" %}
<span class="inventory-lock">
<i class='fas fa-lock'></i>
</span>
{% endif %}
</div>

View File

@@ -0,0 +1,67 @@
{% set base_stat = inv_item.attr_l|get_lot_stats %}
{% set desc = inv_item.attr_l|get_lot_desc %}
{% set item_set = inv_item.attr_l|get_item_set %}
{{ inv_item.attr_l|get_lot_name }}
{% if item_set and item_set[0 != 49]%}
<br/>
--------------------------------
<br/>
{{ ("ItemSets_" ~ item_set[0] ~ "_kitName")|lu_translate }}: Rank {{ item_set[4] }}<br/>
{% if item_set[5] %}
<img src='/luclient/get_icon_iconid/{{item_set[5]}}'
alt='Kit Image'
width='128'
height='128'>
<br/>
Multi-Item Bonus:<br/>
{% if item_set[6] %}
<b>2 Items:</b><br/>
{% with stat = item_set[6]|get_set_stats %}
{% include 'partials/charxml/_stats.html.j2' %}
{% endwith %}
<br/><br/>
{% endif %}
{% if item_set[7] %}
<b>3 Items:</b><br/>
{% with stat = item_set[7]|get_set_stats %}
{% include 'partials/charxml/_stats.html.j2' %}
{% endwith %}
<br/><br/>
{% endif %}
{% if item_set[8] %}
<b>4 Items:</b><br/>
{% with stat = item_set[8]|get_set_stats %}
{% include 'partials/charxml/_stats.html.j2' %}
{% endwith %}
<br/><br/>
{% endif %}
{% if item_set[9] %}
<b>5 Items:</b><br/>
{% with stat = item_set[9]|get_set_stats %}
{% include 'partials/charxml/_stats.html.j2' %}
{% endwith %}
<br/><br/>
{% endif %}
{% if item_set[10] %}
<b>6 Items:</b><br/>
{% with stat = item_set[10]|get_set_stats %}
{% include 'partials/charxml/_stats.html.j2' %}
{% endwith %}
<br/><br/>
{% endif %}
{% endif %}
--------------------------------
{% endif %}
{% if desc %}
<br/>{{ desc }}
{% endif %}
{% if base_stat %}
<br/>
{% with stat = base_stat %}
{% include 'partials/charxml/_stats.html.j2' %}
{% endwith %}
{% endif %}

View File

@@ -0,0 +1,38 @@
{% if stat.life > 0 %}
+ {{ stat.life }}
<img src='{{ url_for('luclient.get_icon_iconid', id=3262) }}'
alt='Health: '
width='20'
height='20'>
{% endif %}
{% if stat.armor > 0 %}
+ {{ stat.armor }}
<img src='{{ url_for('luclient.get_icon_iconid', id=3263) }}'
alt='Armor: '
width='20'
height='20'>
{% endif %}
{% if stat.im > 0 %}
+ {{ stat.im }}
<img src='{{ url_for('luclient.get_icon_iconid', id=1032) }}'
alt='Imagination: '
width='20'
height='20'>
{% endif %}
{% if stat.skill|length > 0 %}
{% for skill in stat.skill %}
{% set skill_desc = skill[0]|get_skill_desc %}
{% if "IP" not in skill_desc and "AP" not in skill_desc and "LP" not in skill_desc and skill[0]|string not in skill_desc %}
<br/>
<img src='{{ url_for('luclient.get_icon_iconid', id=skill[1]) }}'
alt='Skill: '
width='32'
height='32'>
{{ skill[0]|get_skill_desc }}
<br/>
{% endif %}
{% endfor %}
{% endif %}

View File

@@ -0,0 +1,51 @@
<div class="row">
<div class="col text-center">
{{ zone.attr_map|get_zone_name }}
</div>
</div>
<div class="row">
<div class="col text-right">
Achievements Collected:
</div>
<div class="col">
{{ zone.attr_ac }}
</div>
</div>
<div class="row">
<div class="col text-right">
Bricks Collected:
</div>
<div class="col">
{{ zone.attr_bc }}
</div>
</div>
<div class="row">
<div class="col text-right">
Coins Collected:
</div>
<div class="col">
{{ zone.attr_cc }}
</div>
</div>
<div class="row">
<div class="col text-right">
Enemies Smashed:
</div>
<div class="col">
{{ zone.attr_es }}
</div>
</div>
<div class="row">
<div class="col text-right">
Quick Builds Collected:
</div>
<div class="col">
{{ zone.attr_qbc }}
</div>
</div>