Fixed a bunch of bugs

This commit is contained in:
Walter 2025-02-14 06:04:12 +01:00
parent c9a50e06a7
commit 19c8ca3362
9 changed files with 28 additions and 19 deletions

View File

@ -64,5 +64,5 @@ class LevelScore(models.Model):
def __str__(self):
clearState = "" if self.clear else ""
return (f"{self.player.user.username}'s {clearState} @ {self.level.title}"
f"[🎈{self.pops} | 🎯{self.darts_left}]")
return (f"{self.player.user.username}'s {clearState} @ {self.level.title}: "
f"🎈{self.pops} | 🎯{self.darts_left}")

View File

@ -22,4 +22,8 @@
margin: 10px;
height: 90px;
width: 244px;
}
.wide.centered {
white-space: nowrap;
}

View File

@ -1,3 +1,7 @@
function as3_new_level_started(id) {
console.log(id)
function bloonsa_new_level_started(id) {
console.log("new level started! id=" + id)
}
function bloonsa_level_completed(id) {
console.log("level completed! id=" + id)
}

View File

@ -68,11 +68,13 @@
<div id="content">
{% block content %}{% endblock content %}
<div class="wide centered">
Copyright Kaiparasoft 2007, all rights reserved<br/>
<a href="http://www.ninjakiwi.com">Ninjakiwi</a>
- <a href="{% url 'bloonsa_game:terms' %}">Terms of Use</a>
- <a href="{% url 'bloonsa_game:contact' %}">Contact Us</a> </div>
<div class="wide left">
<p>
<h1 class="level-title-container"></h1>
<h3 class="level-author-container"></h3><br>
<p class="level-id-container"></p>
</p>
</div>
</div>
<div class="skyscraper rhs">

View File

@ -2,6 +2,6 @@
<div id="profile_box">
<h3>{{ user }}</h3>
<p>Levels played: {{ player.levels_played }}<br>
Levels beaten: {{ player.levels_beaten }} / {{ player.total_levels }}</p>
Levels beaten: {{ player.levels_beaten }} / {{ total_levels }}</p>
<h3><a href="/users/logout">Logout</a></h3>
</div>

View File

@ -23,7 +23,7 @@ class GameView(TemplateView):
bloonsa_util.tag_player(request=request)
# This init is for accounts made with 'createsuperuser' or originating from bloonsb
player = bloonsa_util.init_player(request=request)
# TODO get player object here with init_player to use in html template03.3.005
total_levels = Level.objects.count()
if type(kwargs.get("pk")) is int:
level = Level.objects.get(id=kwargs["pk"])
@ -33,11 +33,14 @@ class GameView(TemplateView):
note=level)
return render(request, "bloonsa_game/level.html", context={
"player": player,
"total_levels": total_levels,
"flashVars": level.getFlashVars(seperator="&amp;"),
"levelTitle": level.title,
"levelAuthor": level.author,
})
return render(request, "bloonsa_game/game.html", context={"player": player})
return render(request, "bloonsa_game/game.html",
context={"player": player,
"total_levels": total_levels,})
class WIPView(TemplateView):

View File

@ -4,10 +4,6 @@ from django.contrib.auth.models import User
class Player(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, null=True, blank=True, related_name="player")
# Savedata
#bloonsa_levelsPlayed = models.ManyToManyField(Level, blank=True, related_name="player")
#bloonsa_level_scores = models.ManyToManyField(LevelScore, blank=True, related_name="player")
#bloonsa_levelRatings = models.ManyToManyField(LevelRating, blank=True, related_name="player")
# Logging
creationIP = models.GenericIPAddressField()
latestIP = models.GenericIPAddressField()

View File

@ -41,7 +41,7 @@ class BloonsaUtil:
return
player = Player.objects.filter(user=request.user).first()
if not player:
self.init_player(request=request)
player = self.init_player(request=request)
if player.banned:
# TODO message popup?
logout(request)
@ -51,11 +51,11 @@ class BloonsaUtil:
player.latestIP = self.get_ip(request=request)
player.save()
def log(self, action, note, player=None, request=None):
def log(self, action, note=None, player=None, request=None):
if not self.tracking:
return
if not player:
if not request and not request.user.is_authenticated:
if not request or not request.user.is_authenticated:
return
player = self.init_player(request=request)
item = Log(player=player,