GRB AdditionalActorTraits

Матеріал з РПГ.укр
Перейти до: навігація, пошук

GRB_AdditionalActorTraitsплагін для RPG Maker MV від команди Гарбата. Додає можливість вказати нові особливості геро_їнь під час гри. Особливості записуються під час запису гри.

Завантажити плагін можна тут: GRB_AdditionalActorTraits.js.

Використання[ ]

Плагін використовується через команду «Виклик скрипта». Доступні наступні скрипти:

  • $gameActors.actor(1).grbAddTrait(Game_BattlerBase.TRAIT_STATE_RATE, 2, 0.0) — дати герою №1 особливість Game_BattlerBase.TRAIT_STATE_RATE (коефіцієнт стану) для стану №2 зі значенням 1
  • $gameActors.actor(1).grbRemoveTrait(Game_BattlerBase.TRAIT_STATE_RATE, 2, 0.0) — видалити особливість, додану попереднім скриптом
  • $gameActors.actor(1).grbClearTraits() — видалити всі особливості, додані через цей плагін
  • $gameActors.actor(1).grbClearTraits(Game_BattlerBase.TRAIT_STATE_RATE) — видалити всі особливості «Коефіцієнт стану», додані через цей плагін

Доступні особливості[ ]

Нижче наведені коди особливостей в тому ж порядку, в якому вони представлені в вікні «Особливості».

Таблиця вказує аргументи, які передаються в grbAddTrait через кому.

Особливість Перший аргумент Другий аргумент Третій аргумент
Сторінка «Коефіцієнти»
Коефіцієнт атрибута (елемента) Game_BattlerBase. TRAIT_ELEMENT_RATE Номер атрибута Коефіцієнт (в долях, тобто 100% записується як 1.0; 120% записується як 1.2)
Схильність до послаблення Game_BattlerBase. TRAIT_DEBUFF_RATE Номер параметра Коефіцієнт (в долях)
Схильність до стану Game_BattlerBase. TRAIT_STATE_RATE Номер стану Коефіцієнт (в долях)
Опір до стану Game_BattlerBase. TRAIT_STATE_RESIST Номер стану 1 (або залишається пустим)
Сторінка «Параметри»
Параметр Game_BattlerBase. TRAIT_PARAM Номер параметра Коефіцієнт (в долях одиниці)
Додатковий параметр Game_BattlerBase. TRAIT_XPARAM Номер додаткового параметра Доданок до додаткового параметру (в долях одиниці)
Спеціальний параметр Game_BattlerBase. TRAIT_SPARAM Номер спеціального параметру Коефіцієнт (в долях одиниці)
Сторінка «Напад»
Атрибут нападу Game_BattlerBase. TRAIT_ATTACK_ELEMENT Номер атрибута (не використовується)
Стан нападу Game_BattlerBase. TRAIT_ATTACK_STATE Номер стану Доданок
Швидкість нападу Game_BattlerBase. TRAIT_ATTACK_SPEED (будь-яке число, не використовується) Швидкість
Кількість повторних нападів + Game_BattlerBase. TRAIT_ATTACK_TIMES (будь-яке число, не використовується) Доданок
Сторінка «Навичка»
Додати тип навичок Game_BattlerBase. TRAIT_STYPE_ADD Номер типу навичок 1 (будь-яке число, не використовується)
Заблокувати тип навичок Game_BattlerBase. TRAIT_STYPE_SEAL Номер типу навичок 1 (будь-яке число, не використовується)
Додати навичку Game_BattlerBase. TRAIT_SKILL_ADD Номер навички 1 (будь-яке число, не використовується)
Заблокувати навичку Game_BattlerBase. TRAIT_SKILL_SEAL Номер навички 1 (будь-яке число, не використовується)
Сторінка «Спорядження»
Екіпірувати зброю Game_BattlerBase. TRAIT_EQUIP_WTYPE Тип зброї 1 (будь-яке число, не використовується)
Екіпірувати броню Game_BattlerBase. TRAIT_EQUIP_ATYPE Тип броні 1 (будь-яке число, не використовується)
Зафіксувати спорядження Game_BattlerBase. TRAIT_EQUIP_LOCK Номер рядку сподяження 1 (будь-яке число, не використовується)
Заблокувати спорядження Game_BattlerBase. TRAIT_EQUIP_SEAL Номер рядку сподяження 1 (будь-яке число, не використовується)
Тип екіпірування «Дві зброї» Game_BattlerBase. TRAIT_SLOT_TYPE 1 1 (будь-яке число, не використовується)
Сторінка «Інше»
Кількість додаткових дій Game_BattlerBase. TRAIT_ACTION_PLUS 1 (будь-яке число, не використовується) Приклад
Особлива поведінка «Автобій» Game_BattlerBase. TRAIT_SPECIAL_FLAG Game_BattlerBase. FLAG_ID_AUTO_BATTLE 1 (будь-яке число, не використовується)
Особлива поведінка «Оборона себе» Game_BattlerBase. TRAIT_SPECIAL_FLAG Game_BattlerBase. FLAG_ID_GUARD 1 (будь-яке число, не використовується)
Особлива поведінка «Захист слабкіших» Game_BattlerBase. TRAIT_SPECIAL_FLAG Game_BattlerBase. FLAG_ID_SUBSTITUTE 1 (будь-яке число, не використовується)
Особлива поведінка «Зберігати TP» Game_BattlerBase. TRAIT_SPECIAL_FLAG Game_BattlerBase. FLAG_ID_PRESERVE_TP 1 (будь-яке число, не використовується)
Особливість партії «1/2 випадкових боїв» Game_BattlerBase. TRAIT_PARTY_ABILITY Game_Party. ABILITY_ENCOUNTER_HALF 1 (будь-яке число, не використовується)
Особливість партії «Немає випадкових боїв» Game_BattlerBase. TRAIT_PARTY_ABILITY Game_Party. ABILITY_ENCOUNTER_NONE 1 (будь-яке число, не використовується)
Особливість партії «Немає нечеканих нападів» Game_BattlerBase. TRAIT_PARTY_ABILITY Game_Party. ABILITY_CANCEL_SURPRISE 1 (будь-яке число, не використовується)
Особливість партії «Більше упереджувальних нападів» Game_BattlerBase. TRAIT_PARTY_ABILITY Game_Party. ABILITY_RAISE_PREEMPTIVE 1 (будь-яке число, не використовується)
Особливість партії «200% грошей» Game_BattlerBase. TRAIT_PARTY_ABILITY Game_Party. ABILITY_GOLD_DOUBLE 1 (будь-яке число, не використовується)
Особливість партії «200% предметів» Game_BattlerBase. TRAIT_PARTY_ABILITY Game_Party. ABILITY_DROP_ITEM_DOUBLE 1 (будь-яке число, не використовується)

Ліцензія[ ]

Плагін розповсюджується згідно з ліцензією Creative Commons Zero, тобто автори відмовляються від авторських прав (настільки, наскільки це взагалі можливо зробити згідно з законодавством).

Код[ ]

Показати код плагіну

/*:
 * @plugindesc Additional actor traits
 * @author Garbata Team
 * 
 * @help Adds a way to assign new actor traits
 * during the game. The traits are saved in the savefiles.
 *
 * This plugin is placed into public domain according to the CC0 public domain
 * dedication. See https://creativecommons.org/publicdomain/zero/1.0/ for more
 * information.
 *
 * Plugin page (in Ukrainian): https://рпг.укр/GRB_AdditionalActorTraits
 */
/*:uk
 * @plugindesc Додаткові особливості героїв та героїнь
 * @author Команда Гарбата
 * 
 * @help Додає можливість вказати нові особливості героїнь
 * та героїв під час гри. Особливості записуються під час запису гри.
 *
 * Цей плагін передано до суспільного надбання згідно з CC0. Детальніше див.
 * на сторінці https://creativecommons.org/publicdomain/zero/1.0/deed.uk
 *
 * Сторінка плагіну: https://рпг.укр/GRB_AdditionalActorTraits
 */
/*:be
 * @plugindesc Дадактовыя асаблівасці герояў і гераінь
 * @author Garbata Team
 * 
 * @help Дадае магчымасць задаць новыя асаблівасці герояў
 * і гераінь пад час гульні. Асаблівасці запісваюцца падчас запісу гульні.
 *
 * Гэты плагін перададзены ў грамадскі набытак згодна з CC0. Падрабязней гл.
 * на старонцы https://creativecommons.org/publicdomain/zero/1.0/deed.be
 *
 * Старонка плагіна (па-ўкраінску): https://рпг.укр/GRB_AdditionalActorTraits
 */
/*:ru
 * @plugindesc Дополнительные особенности героинь и героев
 * @author Garbata Team
 * 
 * @help Добавляет возможность задать новые особенности героев
 * и героинь во время игры. Особенности сохраняются при сохранении игры.
 *
 * Этот плагин передан в общественное достояние согласно CC0. Подробнее см. на
 * странице https://creativecommons.org/publicdomain/zero/1.0/deed.ru
 *
 * Страница плагина (на украинском): https://рпг.укр/GRB_AdditionalActorTraits
 */

(function () {

var Game_Actor_traitObjects = Game_Actor.prototype.traitObjects;
Game_Actor.prototype.traitObjects = function() {
  var objects = Game_Actor_traitObjects.call(this);
  if (this.grbAdditionalTraitsObject) {
    objects.push(this.grbAdditionalTraitsObject);
  }
  return objects;
};

/**
 * Clears additional trait list.
 * Optional 'code' parameter allows to remove only traits
 * with a specific code.
 *
 * Note you can only remove the traits added with this plugin.
 *
 * @param {Number} [code] Code of the traits to remove (if omitted,
 * all the additional traits are removed)
 */
Game_Actor.prototype.grbClearTraits = function (code) {
  if (code === undefined) {
    this.grbAdditionalTraitsObject = {'traits': []};
  } else {
    if (this.grbAdditionalTraitsObject) {
      var o = this.grbAdditionalTraitsObject.traits;
      o.traits = o.traits.filter(function (trait) {
        return trait.code !== code;
      });
    }
  }
};

/**
 * Adds an additional trait to the additional trait list.
 *
 * @param {Number} code Code of the trait to be added
 * @param {Number} dataId Data ID of the trait to be added
 * @param {Number} [value] Value of the trait to be added
 */
Game_Actor.prototype.grbAddTrait = function (code, dataId, value) {
  if (!this.grbAdditionalTraitsObject) {
    this.grbAdditionalTraitsObject = {'traits': []};
  }
  
  if (value === undefined) {
    value = 1;
  };
  
  this.grbAdditionalTraitsObject.traits.push({
    'code': code,
    'dataId': dataId,
    'value': value
  });
};

/**
 * Removes an additional trait that was previously added
 * by this plugin.
 *
 * @param {Number} code Code of the trait.
 * @param {Number} dataId Data ID of the trait.
 * @param {Number} [value] Value of the trait.
 */
Game_Actor.prototype.grbRemoveTrait = function (code, dataId, value) {
  if (!this.grbAdditionalTraitsObject) {
    this.grbAdditionalTraitsObject = {'traits': []};
  }
  
  var o = this.grbAdditionalTraitsObject;
  o.traits = o.traits.filter(function (trait) {
    var codeMatches = trait.code === code;
    var dataIdMatches = trait.dataId === dataId;
    var valueMatches = true;
    if (value !== undefined) {
      valueMatches = trait.value === value;
    }
    
    return !(codeMatches && dataIdMatches && valueMatches);
  });
};

})();

Є пропозиції щодо покращення цієї сторінки. Якщо ви хочете цим зайнятися, зверніть увагу на коментарі <!-- ... --> в коді сторінки.