Оформить систему [де]баффов. #1

Closed
opened 2020-10-21 19:21:10 +00:00 by lopar · 0 comments
Owner

Список эффектов по типам.

2 Заклинание молчания
3 Заклятие форумного молчания
4 Заклятие хаоса
5 Заклятие обезличивания
10 Путы (и Паралич!)
11 Лёгкая травма
12 Средняя травма
13 Тяжелая травма
14 Неизлечимая травма
20 Проверка Паладинов
21 Сила нейтралитета
22 Защита от кулачного нападения
51 Опьянение
201 Защита от оружия
202 Сокрушение
203 Туманный образ [1]
203 Удача
204 Туманный образ [2]
204 Эликсир урона +3
205 Туманный образ [3]
205 Эликсир брони +5
206 Гравитация [1]
207 Гравитация [2]
208 Гравитация [3]
209 Стена Огня [1]
210 Стена Огня [2]
211 Стена Огня [3]
212 Чистота Воды [1]
213 Чистота Воды [2]
214 Чистота Воды [3]
215 Защита эфира [1] 
216 Защита эфира [2]
217 Защита эфира [3]
218 Песчаный щит [1]
219 Песчаный щит [2]
220 Песчаный щит [3]
221 Огненный Щит [1]
222 Огненный Щит [2]
223 Огненный Щит [3]
224 Стена Воды [1]
225 Стена Воды [2]
226 Стена Воды [3]
227 Защита от нападений
405 Микстура жизненных сил
1022 Заклятие невидимости
9994 Антидот/Путы (Эликсир?)

Текущая реализация подключения к поединкам:

battle_new_class.php [function solve_mf()]

<?php
$zo = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=201 AND owner=" . (int)$this->user['id'] . ";"));
$zo1 = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=201 AND owner=" . (int)$this->enemyhar['id'] . ";"));
$zo2 = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=205 AND owner=" . (int)$this->user['id'] . ";"));
$zo3 = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=205 AND owner=" . (int)$this->enemyhar['id'] . ";"));
$sokr = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=202 AND owner=" . (int)$this->user['id'] . ";"));
$sokr1 = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=202 AND owner=" . (int)$this->enemyhar['id'] . ";"));
$sokr2 = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=204 AND owner=" . (int)$this->user['id'] . ";"));
$sokr3 = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=204 AND owner=" . (int)$this->enemyhar['id'] . ";"));
$mfusil = @mysql_fetch_row(@mysql_query("SELECT id,name FROM effects WHERE type=50 AND owner=" . (int)$user['id'] . ";"));

$bmfud = $sokr[0] > 0 ? 1 : 0;//владение оружием !
$bmfud = $sokr2[0] > 0 ? 1.5 : 0;//владение оружием !
$bmfbron = $zo[0] > 0 ? 2 : 0;//броня
$bmfbron = $zo2[0] > 0 ? 5 : 0;//броня
$bmfud = 0;
$bmfbron = 0;
$bmfuv = 0;
$bmfauv = 0;
$bmfakrit = 0;
$bmfkrit = 0;
$bmfuv += $mfusil['mfuvorot'];
$bmfauv += $mfusil['mfauvorot'];
$bmfakrit += $mfusil['mfakrit'];
$bmfkrit += $mfusil['mfkrit'];
$bmfud1 = $sokr1[0] > 0 ? 1 : 0;//владение оружием
$bmfud1 = $sokr3[0] > 0 ? 1.5 : 0;//владение оружием
$bmfbron1 = $zo1[0] > 0 ? 2 : 0;//броня
$bmfbron1 = $zo3[0] > 0 ? 5 : 0;//броня
$bmfud1 = 0;
$bmfbron1 = 0;
$bmfuv1 = 0;
$bmfauv1 = 0;
$bmfakrit1 = 0;
$bmfkrit1 = 0;

В планах пересобрать всю таблицу effects, чтобы там писался не только тип эффекта, но и параметры, на которые данный эффект влияет. В результате количество типов резко уменьшится и это позволит широко использовать кастомные эффекты. Фактически под типизацию подпадут лишь те эффекты, которые прямо не влияют на цифры игрока.

**Список эффектов по типам.** ``` 2 Заклинание молчания 3 Заклятие форумного молчания 4 Заклятие хаоса 5 Заклятие обезличивания 10 Путы (и Паралич!) 11 Лёгкая травма 12 Средняя травма 13 Тяжелая травма 14 Неизлечимая травма 20 Проверка Паладинов 21 Сила нейтралитета 22 Защита от кулачного нападения 51 Опьянение 201 Защита от оружия 202 Сокрушение 203 Туманный образ [1] 203 Удача 204 Туманный образ [2] 204 Эликсир урона +3 205 Туманный образ [3] 205 Эликсир брони +5 206 Гравитация [1] 207 Гравитация [2] 208 Гравитация [3] 209 Стена Огня [1] 210 Стена Огня [2] 211 Стена Огня [3] 212 Чистота Воды [1] 213 Чистота Воды [2] 214 Чистота Воды [3] 215 Защита эфира [1] 216 Защита эфира [2] 217 Защита эфира [3] 218 Песчаный щит [1] 219 Песчаный щит [2] 220 Песчаный щит [3] 221 Огненный Щит [1] 222 Огненный Щит [2] 223 Огненный Щит [3] 224 Стена Воды [1] 225 Стена Воды [2] 226 Стена Воды [3] 227 Защита от нападений 405 Микстура жизненных сил 1022 Заклятие невидимости 9994 Антидот/Путы (Эликсир?) ``` **Текущая реализация подключения к поединкам:** battle_new_class.php [function solve_mf()] ```php <?php $zo = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=201 AND owner=" . (int)$this->user['id'] . ";")); $zo1 = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=201 AND owner=" . (int)$this->enemyhar['id'] . ";")); $zo2 = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=205 AND owner=" . (int)$this->user['id'] . ";")); $zo3 = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=205 AND owner=" . (int)$this->enemyhar['id'] . ";")); $sokr = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=202 AND owner=" . (int)$this->user['id'] . ";")); $sokr1 = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=202 AND owner=" . (int)$this->enemyhar['id'] . ";")); $sokr2 = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=204 AND owner=" . (int)$this->user['id'] . ";")); $sokr3 = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=204 AND owner=" . (int)$this->enemyhar['id'] . ";")); $mfusil = @mysql_fetch_row(@mysql_query("SELECT id,name FROM effects WHERE type=50 AND owner=" . (int)$user['id'] . ";")); $bmfud = $sokr[0] > 0 ? 1 : 0;//владение оружием ! $bmfud = $sokr2[0] > 0 ? 1.5 : 0;//владение оружием ! $bmfbron = $zo[0] > 0 ? 2 : 0;//броня $bmfbron = $zo2[0] > 0 ? 5 : 0;//броня $bmfud = 0; $bmfbron = 0; $bmfuv = 0; $bmfauv = 0; $bmfakrit = 0; $bmfkrit = 0; $bmfuv += $mfusil['mfuvorot']; $bmfauv += $mfusil['mfauvorot']; $bmfakrit += $mfusil['mfakrit']; $bmfkrit += $mfusil['mfkrit']; $bmfud1 = $sokr1[0] > 0 ? 1 : 0;//владение оружием $bmfud1 = $sokr3[0] > 0 ? 1.5 : 0;//владение оружием $bmfbron1 = $zo1[0] > 0 ? 2 : 0;//броня $bmfbron1 = $zo3[0] > 0 ? 5 : 0;//броня $bmfud1 = 0; $bmfbron1 = 0; $bmfuv1 = 0; $bmfauv1 = 0; $bmfakrit1 = 0; $bmfkrit1 = 0; ``` В планах пересобрать всю таблицу effects, чтобы там писался не только тип эффекта, но и параметры, на которые данный эффект влияет. В результате количество типов резко уменьшится и это позволит широко использовать кастомные эффекты. Фактически под типизацию подпадут лишь те эффекты, которые прямо не влияют на цифры игрока.
lopar added a new dependency 2021-01-26 11:53:41 +00:00
lopar added this to the 1.0 milestone 2021-01-27 14:48:31 +00:00
lopar referenced this issue from a commit 2021-05-12 20:35:06 +00:00
lopar closed this issue 2021-05-12 20:35:06 +00:00
Sign in to join this conversation.
No description provided.