Оновити 'О магии'
parent
423d19fbd5
commit
828e49ba4e
@ -56,4 +56,36 @@ function smallHealingPotion($caster) # Зелье лечения
|
|||||||
$baseDamage = 1
|
$baseDamage = 1
|
||||||
castDamage($caster, $manaCost, $baseDamage, $caster);
|
castDamage($caster, $manaCost, $baseDamage, $caster);
|
||||||
}
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```PHP
|
||||||
|
# Псевдокод
|
||||||
|
function getUnitForEffect($effect)
|
||||||
|
{
|
||||||
|
$aliveUnits = [];
|
||||||
|
|
||||||
|
foreach ($this->units as $unit) {
|
||||||
|
if ($unit->isAlive()) {
|
||||||
|
$aliveUnits[] = $unit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Если живых юнитов нет - возвращаем null
|
||||||
|
if (count($aliveUnits) === 0) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Чтобы эффект накладывался случайному юниту, а не первому - перемешиваем массив
|
||||||
|
shuffle($aliveUnits);
|
||||||
|
|
||||||
|
// Проходим по юнитам и проверяем, у кого указанного эффекта нет
|
||||||
|
foreach ($aliveUnits as $unit) {
|
||||||
|
if (!$unit->getEffects()->exist($effect)) {
|
||||||
|
return $unit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
```
|
```
|
Loading…
Reference in New Issue
Block a user