Skip to content

Commit

Permalink
darknet update
Browse files Browse the repository at this point in the history
  • Loading branch information
matronator committed Jul 9, 2024
1 parent 3d48ee3 commit 4e1b519
Show file tree
Hide file tree
Showing 91 changed files with 19,276 additions and 14,117 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ backups/**
libs/VoteRewards.php
.DS_Store
libs/Env.php
app/config/*.local.neon
20 changes: 19 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"cSpell.words": [
"Darknet",
"myworker",
"stackable",
"Unlockables"
Expand All @@ -15,5 +16,22 @@
"**/.DS_Store": true,
"**/Thumbs.db": true
},
"editor.acceptSuggestionOnEnter": "on"
"editor.acceptSuggestionOnEnter": "on",
"json.schemas": [
{
"fileMatch": [
".prettierrc"
],
"url": "https://json.schemastore.org/prettierrc-1.8.2.json"
},
{
"fileMatch": [
".prettierrc"
],
"url": "https://json.schemastore.org/prettierrc.json"
}
],
"alpine-intellisense.settings.languageScopes": "latte,html,php",
"eslint.codeActionsOnSave.mode": "problems",
"eslint.run": "onSave"
}
7 changes: 5 additions & 2 deletions app/bootstrap.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace App;

use Nette\Configurator;
use Nette\Bootstrap\Configurator;

class Bootstrap
{
Expand All @@ -21,9 +21,12 @@ public static function boot(): Configurator
->register();
$configurator->addConfig(__DIR__ . '/config/config.neon');
$configurator->addConfig(__DIR__ . '/config/jobs.neon');
if (file_exists(__DIR__ . '/config/jobs.local.neon')) {
$configurator->addConfig(__DIR__ . '/config/jobs.local.neon');
}
$configurator->addConfig(__DIR__ . '/config/items.neon');
$configurator->addConfig(__DIR__ . '/config/config.local.neon');
$configurator->addParameters([
$configurator->addStaticParameters([
'rootDir' => realpath(__DIR__ . '/..'),
'appDir' => __DIR__,
'wwwDir' => realpath(__DIR__ . '/../www'),
Expand Down
3 changes: 2 additions & 1 deletion app/config/config.neon
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ services:
stripe: App\Services\StripeService(%stripe%)
paddle: App\Services\PaddleService(%paddle%)
payment: App\Services\PaymentService(%psp%)
darknet: App\Services\Darknet\DarknetService
nette.latteFactory:
setup:
- addFilter('fromSnake', 'App\Filter\StaticFilters::fromSnake')
Expand All @@ -63,7 +64,7 @@ http:
X-Powered-By: StarterPack CMS # for security sake
X-Content-Type-Options: nosniff
X-XSS-Protection: '1; mode=block'
Content-Security-Policy: "default-src 'self' https://cdn.paddle.com/; script-src 'self' https://connect-js.stripe.com https://js.stripe.com/ https://cdn.paddle.com/ 'unsafe-inline'; style-src sha256-0hAheEzaMe6uXIKV4EehS9pu1am1lj/KnnzrOYqckXk= 'self' 'unsafe-inline' https://sandbox-cdn.paddle.com/; frame-src https://connect-js.stripe.com https://js.stripe.com/ https://sandbox-buy.paddle.com/ https://buy.paddle.com/ https://gogetfunding.com/"
Content-Security-Policy: "default-src 'self' data: https://cdn.paddle.com/; script-src 'self' https://connect-js.stripe.com https://js.stripe.com/ https://cdn.paddle.com/ 'unsafe-inline' 'unsafe-eval'; style-src sha256-0hAheEzaMe6uXIKV4EehS9pu1am1lj/KnnzrOYqckXk= 'self' 'unsafe-inline' https://sandbox-cdn.paddle.com/; frame-src https://connect-js.stripe.com https://js.stripe.com/ https://sandbox-buy.paddle.com/ https://buy.paddle.com/ https://gogetfunding.com/"

latte:
macros:
Expand Down
4 changes: 4 additions & 0 deletions app/lang/general.cs_CZ.neon
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,11 @@ messages:
allBuildingCollected: "Všechny budovy sesbírány!"
info:
warning:
cantRefreshOffer: "Ještě nemůžeš obnovit nabídku. Zkus to znovu za %minutes% minut."
itemLowLevel: "Musíš být aspoň level %level% pro koupení této věci."
noInventorySpace: "Tvůj inventář je plný."
drugsSoldWithRemainder: "Prodáno pouze %quantity% gramů, protože vendor neměl víc peněz."
purchaseWithRemainder: "Koupil jsi pouze %quantity% gramů, protože víc vendor neměl."
danger:
wrongCredentials: "Špatné heslo, uživatelské jméno nebo e-mail"
notEnoughMoney: "Nedostatek peněz"
Expand Down Expand Up @@ -311,6 +314,7 @@ drugs:

darknet:
postedBy: 'Přidal'
setMax: 'Maximum'
inStock: 'Na skladě'
vendorMoney: "Vendor má peněz"
vendorFee: "Poplatek vendora"
Expand Down
3 changes: 3 additions & 0 deletions app/lang/general.en_US.neon
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ messages:
cantRefreshOffer: "Can't refresh offer yet. Try again in %minutes% minutes."
itemLowLevel: "You need to be at least level %level% to buy this item."
noInventorySpace: "Your inventory is full."
drugsSoldWithRemainder: "Sold only %quantity% grams, because the vendor didn't have money for more."
purchaseWithRemainder: "You bought only %quantity% grams, because that's all the vendor had."
danger:
wrongCredentials: "Wrong password, username or e-mail"
notEnoughMoney: "Not enough money"
Expand Down Expand Up @@ -353,6 +355,7 @@ drugs:

darknet:
postedBy: 'Posted by'
setMax: 'Set max'
inStock: 'In stock'
vendorMoney: "Vendor's money"
vendorFee: "Vendor's fee"
Expand Down
13 changes: 10 additions & 3 deletions app/model/DrugsRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace App\Model;

use Nette;
use Nette\Database\Table\ActiveRow;

class DrugsRepository
{
Expand Down Expand Up @@ -237,15 +238,21 @@ public function updateOfferAndMoney(int $offerId)
]);
}

public function getOfferBuyPrice($offer, int $quantity = 0): int
public function getOfferBuyPrice(ActiveRow $offer, int $quantity = 0): int
{
$vendorFee = 1 + $offer->vendor->charge;
return (int) round(($quantity * $offer->drug->price) * $vendorFee, 0);
}

public function getOfferSellPrice($offer, int $quantity = 0): int
public function getOfferSellPrice(ActiveRow $offer, int $quantity = 0): int
{
$vendorFee = 1;
$vendorFee = 1 - $offer->vendor->charge;
return (int) round(($quantity * $offer->drug->price) * $vendorFee, 0);
}

public function getQuantityFromSellPrice(ActiveRow $offer, int $price = 0): int
{
$vendorFee = 1 - $offer->vendor->charge;
return (int) floor($price / ($offer->drug->price * $vendorFee));
}
}
4 changes: 2 additions & 2 deletions app/modules/Admin/templates/@layoutSignedIn.latte
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
<div class="uk-navbar-right">
<div class="uk-navbar-item uk-visible@s">
<span uk-icon="user"></span>
<span class="uk-margin-left">{$user->email}</span>
<span class="uk-margin-left">{$player->email}</span>
</div>
<div class="uk-navbar-item uk-visible@s">
<a n:href="logOut!" class="uk-button uk-button-secondary">
Expand Down Expand Up @@ -85,7 +85,7 @@

<div class="uk-text-center uk-text-small uk-margin-large-top">
<span uk-icon="user"></span>
<span class="uk-margin-left">{$user->email}</span>
<span class="uk-margin-left">{$player->email}</span>
</div>

<div class="uk-text-center uk-text-small uk-margin-large-top">
Expand Down
10 changes: 5 additions & 5 deletions app/modules/Front/components/Assault/AssaultCard.latte
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,21 @@
<div class="uk-card uk-width-expand@s uk-card-default uk-card-body" id="battle">
<div class="uk-text-left uk-flex uk-flex-middle flex-responsive">
<h4 class="uk-text-nowrap uk-margin-remove uk-padding-remove uk-width-1-4@s">
{$user->username}
{$player->username}
</h4>
{include '../../components/UI/ProgressBar/ProgressBar.latte',
min => 0,
max => ($user->player_stats->stamina + $gearStats->stamina) * 2,
value => ($user->player_stats->stamina + $gearStats->stamina) * 2,
max => ($player->player_stats->stamina + $gearStats->stamina) * 2,
value => ($player->player_stats->stamina + $gearStats->stamina) * 2,
type => 'red',
small => true,
name => 'attackerHp'
}
</div>
<div class="uk-width-expand uk-flex uk-flex-between">
<div class="uk-width-auto uk-flex uk-flex-column assault-avatar assault-attacker">
<img src="{$basePath}/dist/front/images/default-avatars/{$user->avatar}" class="uk-comment-avatar uk-hidden@s" width="64" height="64">
<img src="{$basePath}/dist/front/images/default-avatars/{$user->avatar}" class="uk-comment-avatar uk-visible@s" width="128" height="128">
<img src="{$basePath}/dist/front/images/default-avatars/{$player->avatar}" class="uk-comment-avatar uk-hidden@s" width="64" height="64">
<img src="{$basePath}/dist/front/images/default-avatars/{$player->avatar}" class="uk-comment-avatar uk-visible@s" width="128" height="128">
</div>
<div class="uk-width-expand uk-text-danger uk-text-bold uk-flex uk-flex-center uk-position-relative">
<div class="assault-hit hidden uk-text-left" id="victimDmg"></div>
Expand Down
8 changes: 4 additions & 4 deletions app/modules/Front/components/Assault/LatestAssaults.latte
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
**}
<h3>Latest assaults</h3>
{foreach $assaults as $assault}
{var $assaultType = $assault->attacker == $user->id ? 'Attack' : 'Defense'}
{var $assaultType = $assault->attacker == $player->id ? 'Attack' : 'Defense'}
{var $opponent = $assaultType == 'Attack' ? $assault->victim_name : $assault->attacker_name}

{var $victim = $presenter->getPlayerInfo($opponent)}

{if isset($victim->player_stats) && $victim->player_stats}
{include '../../components/Assault/PlayerPopover.latte', victim => $presenter->getPlayerInfo($opponent)}
{/if}
Expand All @@ -27,8 +27,8 @@

<tbody class="assault-record" n:inner-foreach="$assaults as $assault">
{var $assaultType = [
'default' => $assault->attacker == $user->id ? 'Attack' : 'Defense',
'mobile' => $assault->attacker == $user->id ? 'ATK' : 'DEF',
'default' => $assault->attacker == $player->id ? 'Attack' : 'Defense',
'mobile' => $assault->attacker == $player->id ? 'ATK' : 'DEF',
]}
{var $opponent = $assaultType['default'] == 'Attack' ? $assault->victim_name : $assault->attacker_name}
{var $victim = $presenter->getPlayerInfo($opponent)}
Expand Down
36 changes: 18 additions & 18 deletions app/modules/Front/components/Assault/PlayerCard.latte
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
{**
* ASSAULT - Player Card
*
* player array The player to show
* stats array Player's assault stats
* selectedPlayer array The player to show
* stats array Player's assault stats
*}
{var $playerGearStats = $presenter->getUserGearStats($player->id)}
{var $playerGearPower = $presenter->getUserGearPower($player->id)}
{var $playerGearStats = $presenter->getUserGearStats($selectedPlayer->id)}
{var $playerGearPower = $presenter->getUserGearPower($selectedPlayer->id)}

<div class="uk-card uk-width-auto uk-card-default uk-card-body uk-padding-small" style="flex:1 0 auto;">
<div class="split uk-flex-bottom">
<div>
<h3 class="uk-margin-remove-bottom">
{$player->username}&nbsp;<small class="uk-text-muted">Level {$player->player_stats->level}</small>
{$selectedPlayer->username}&nbsp;<small class="uk-text-muted">Level {$selectedPlayer->player_stats->level}</small>
</h3>
</div>
</div>
<div class="uk-width-expand uk-flex">
{include '../../components/UI/ProgressBar/ProgressBar.latte',
min => 0,
max => ($player->player_stats->stamina + $playerGearStats->stamina) * 2,
value => ($player->player_stats->stamina + $playerGearStats->stamina) * 2,
max => ($selectedPlayer->player_stats->stamina + $playerGearStats->stamina) * 2,
value => ($selectedPlayer->player_stats->stamina + $playerGearStats->stamina) * 2,
type => 'red',
small => true,
name => 'playerHP',
Expand All @@ -39,25 +39,25 @@
</div>
<div class="split">
<div class="uk-width-auto">
<div class="{if $player->tier > 1}premium-border tier-{$player->tier}{/if}">
<img n:if="$player->tier <= 2" src="{$basePath}/dist/front/images/default-avatars/{$player->avatar}" class="uk-comment-avatar" width="128" height="128">
<div n:if="$player->tier > 2" style="background-image: url('{$basePath}/dist/front/images/default-avatars/{$player->avatar}');" class="uk-comment-avatar immune-avatar"></div>
<img n:if="$player->tier === 2" src="{$basePath}/dist/front/images/premium/gold-border.png" style="position: absolute; max-width: 200%" width="149" alt="Survivor Border">
<div class="{if $selectedPlayer->tier > 1}premium-border tier-{$selectedPlayer->tier}{/if}">
<img n:if="$selectedPlayer->tier <= 2" src="{$basePath}/dist/front/images/default-avatars/{$selectedPlayer->avatar}" class="uk-comment-avatar" width="128" height="128">
<div n:if="$selectedPlayer->tier > 2" style="background-image: url('{$basePath}/dist/front/images/default-avatars/{$selectedPlayer->avatar}');" class="uk-comment-avatar immune-avatar"></div>
<img n:if="$selectedPlayer->tier === 2" src="{$basePath}/dist/front/images/premium/gold-border.png" style="position: absolute; max-width: 200%" width="149" alt="Survivor Border">
</div>
</div>
<div class="uk-width-expand">
<table class="uk-table uk-table-small uk-table-divider">
<tr>
<td class="uk-text-nowrap" uk-tooltip="title:Strength is used for dealing damage in combats.">{_general.stats.strength.title}</td>
<td class="uk-text-nowrap">{$player->player_stats->strength + $playerGearStats->strength}</td>
<td class="uk-text-nowrap">{$selectedPlayer->player_stats->strength + $playerGearStats->strength}</td>
<td class="uk-text-nowrap" uk-tooltip="title:Stamina determines how much damage you can take.">{_general.stats.stamina.title}</td>
<td class="uk-text-nowrap">{$player->player_stats->stamina + $playerGearStats->stamina}</td>
<td class="uk-text-nowrap">{$selectedPlayer->player_stats->stamina + $playerGearStats->stamina}</td>
</tr>
<tr>
<td class="uk-text-nowrap" uk-tooltip="title:Speed is used for dodging hits in combats.">{_general.stats.speed.title}</td>
<td class="uk-text-nowrap">{$player->player_stats->speed + $playerGearStats->speed}</td>
<td class="uk-text-nowrap border-left" uk-tooltip="title:{$player->username}'s total power."><strong>Power</strong></td>
<td class="uk-text-nowrap"><strong>{$player->player_stats->power + $playerGearPower}</strong></td>
<td class="uk-text-nowrap">{$selectedPlayer->player_stats->speed + $playerGearStats->speed}</td>
<td class="uk-text-nowrap border-left" uk-tooltip="title:{$selectedPlayer->username}'s total power."><strong>Power</strong></td>
<td class="uk-text-nowrap"><strong>{$selectedPlayer->player_stats->power + $playerGearPower}</strong></td>
</tr>
</table>
</div>
Expand All @@ -67,12 +67,12 @@
{include '../../components/Assault/AssaultStats.latte', stats => $stats}
</div>
<div class="uk-margin-top uk-text-center">
{if $user->id != $player->id}
{if $player->id != $selectedPlayer->id}
<script>
document.write('<a class="uk-button uk-button-secondary" href="' + document.referrer + '"><span uk-icon="arrow-left"></span>{_general.ui.back|noescape}</a>');
</script>
{* <a n:href="Player:leaderboard" class="uk-button uk-button-secondary"><span uk-icon="arrow-left"></span>{_general.ui.back}</a> *}
<a n:href="Assaults:detail, $player->username" class="uk-button uk-button-primary">Assault</a>
<a n:href="Assaults:detail, $selectedPlayer->username" class="uk-button uk-button-primary">Assault</a>
{else}
<a n:href="Player:leaderboard" class="uk-button uk-button-primary">Leaderboard</a>
{/if}
Expand Down
4 changes: 2 additions & 2 deletions app/modules/Front/components/Assault/PlayerPopover.latte
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{varType object $victim}

{var $attacker = $user}
{var $attacker = $player}
{var $victimGearStats = $presenter->getUserGearStats($victim->id)}
{var $victimGearPower = $presenter->getUserGearPower($victim->id)}
{var $attackerGearStats = $presenter->getUserGearStats($attacker->id)}
Expand Down Expand Up @@ -35,7 +35,7 @@
<td class="uk-text-nowrap uk-width-shrink uk-text-left uk-text-small uk-text-middle {if $powDiff < 0}uk-text-success{elseif $powDiff > 0}uk-text-danger{/if}" uk-tooltip="title:{_general.stats.power.description}: {$attacker->player_stats->power + $attackerGearPower}"><span n:if="$powDiff > 0">+</span>{$powDiff}</td>
</tr>
</table>
{if $user->id != $victim->id}
{if $player->id != $victim->id}
<a n:href="Assaults:detail, $victim->username" class="uk-button uk-button-primary uk-margin-bottom">Assault</a>
{/if}
</div>
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
**}

<div class="uk-card uk-card-secondary uk-dark uk-card-body uk-margin-bottom">
<h3>{$user->username}'s land</h3>
<h3>{$player->username}'s land</h3>
<p class="uk-text-small uk-hidden@s"><a href="#landInfo" class="uk-text-light" uk-toggle="target: #landInfo;">{_general.buildings.lands.toggleDetails}</a></p>
<div id="landInfo" class="landCard-main">
<div class="land-card uk-margin-bottom uk-text-lighter uk-grid-divider uk-text-small uk-child-width-1-4@l uk-child-width-1-2@s" uk-grid>
Expand Down
12 changes: 9 additions & 3 deletions app/modules/Front/components/Darknet/Vendors/VendorOffer.latte
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
*}
{var $drugName = $offer->drug->name}
<div>
<div class="uk-card uk-card-default uk-card-body uk-padding-small darknet-offer"
<div class="uk-card uk-card-secondary uk-light uk-card-body uk-padding-small darknet-offer"
data-offer-id="{$id}" data-offer-price="{$offer->drug->price}" data-vendor-charge="{$offer->vendor->charge}"
data-vendor-money="{$offer->vendor->money}" data-offer-stock="{$offer->quantity}">
{form vendorOfferForm-{$id}}
Expand All @@ -20,15 +20,21 @@
<small>{_general.darknet.postedBy} {$offer->vendor->name}</small>
<p class="uk-margin-remove-bottom">{_general.darknet.vendorMoney}: ${$offer->vendor->money|number}</p>
<p class="uk-margin-remove-top">{_general.darknet.inStock}: {$offer->quantity|number}g</p>
<input name="offerInput" id="offerInput-{$id}" type="number" class="uk-input darknet-offer-input" min="0" max="99999999">
<div class="uk-flex uk-width-1-1">
<input name="offerInput" id="offerInput-{$id}" value="1" type="number" class="uk-input uk-width-expand darknet-offer-input js-darknet-offer-input" min="1" max="{$presenter->getMaxQuantity($player, $offer)}">
<button role="button" class="uk-button uk-button-default uk-button-small uk-width-auto uk-text-nowrap js-darknet-set-max" type="button" id="offerSetMax-{$id}" data-set-max="{$id}">{_general.darknet.setMax}</button>
</div>
<div class="uk-width-1-1">
<input name="offerRange-{$id}" id="offerRange-{$id}" value="1" type="range" class="uk-range darknet-offer-range js-darknet-offer-input" min="1" max="{$presenter->getMaxQuantity($player, $offer)}">
</div>
{input offerId}
<small uk-tooltip="title:{_general.darknet.vendorFeeTooltip}">{_general.darknet.vendorFee}: {$offer->vendor->charge * 100}%</small>
<div class="uk-child-width-1-2@s uk-grid-divider uk-margin-top uk-grid-small" uk-grid>
<div class="uk-text-center">
<h3>Buy</h3>
{if $offer->quantity > 0}
<div class="uk-flex uk-flex-column">
<input type="submit" name="offerBuy" class="uk-button uk-button-small uk-button-primary" id="offerBuy-{$id}" data-offer-button="buy" value="${$offer->drug->price * (1 + $offer->vendor->charge)|number}">
<input type="submit" name="offerBuy" class="uk-button uk-button-small uk-button-success" id="offerBuy-{$id}" data-offer-button="buy" value="${$offer->drug->price * (1 + $offer->vendor->charge)|number}">
</div>
{/if}
</div>
Expand Down
4 changes: 2 additions & 2 deletions app/modules/Front/components/Inventory/MarketInventory.latte
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
<div class="market-buy-button">
<small class="market-item-price">${$price|number}</small>
{if $inventoryHasSpace}
{if $user->player_stats->level >= $item->item->unlock_at}
{if $user->money >= $price}
{if $player->player_stats->level >= $item->item->unlock_at}
{if $player->money >= $price}
<button class="btn-buy uk-button uk-button-default uk-button-small" data-buy-item data-buy-id="{$item->item->id}" data-market-buy="{$item->id}"><span uk-icon="cart"></span> {_general.ui.buy}</button>
{else}
<button uk-tooltip="{_general.messages.danger.notEnoughMoney}" class="btn-buy uk-button uk-button-default uk-button-small uk-disabled"><span uk-icon="cart"></span> {_general.ui.buy}</button>
Expand Down
Loading

0 comments on commit 4e1b519

Please sign in to comment.