Files
core/hwe/sammo/Event/Action/RandomizeCityTradeRate.php
T
Hide_D 7b1a9157e1 feat, refac: 매달 실행되는 함수 마저 구현
- NewYear: 새해(AddAge 일부)
- AssignGeneralSpeciality: 특히 부여(AddAge 일부)
- RaiseDisaster
- RandomizeCityTradeRate
- ResetOfficeLock: 구 updateQuaterly
2023-03-12 17:02:30 +09:00

49 lines
967 B
PHP

<?php
namespace sammo\Event\Action;
use DB;
use sammo\LiteHashDRBG;
use sammo\RandUtil;
use sammo\UniqueConst;
use sammo\Util;
class RandomizeCityTradeRate extends \sammo\Event\Action
{
public function run(array $env)
{
$year = $env['year'];
$month = $env['month'];
$rng = new RandUtil(new LiteHashDRBG(Util::simpleSerialize(
UniqueConst::$hiddenSeed,
'randomizeCityTradeRate',
$year,
$month,
)));
$db = DB::db();
foreach ($db->query('SELECT city,level FROM city') as $city) {
//시세
$prob = [
1 => 0,
2 => 0,
3 => 0,
4 => 0.2,
5 => 0.4,
6 => 0.6,
7 => 0.8,
8 => 1
][$city['level']];
if ($prob > 0 && $rng->nextBool($prob)) {
$trade = $rng->nextRangeInt(95, 105);
} else {
$trade = null;
}
$db->update('city', [
'trade' => $trade
], 'city=%i', $city['city']);
}
}
}