KDualWield & Accessory Skills VX + ACE
#1
KDualWield & Accessory Skills
VX + ACE

by Kyonides


Introduction

Do you want to force your heroes to equip two weapons and probably even an accessory before they can use that super cool skill you have come up with? Thinking 
Now you can do it! Grinning

You will need to use 1 out of 2 Note Tags on those Skill Note boxes to make it happen! Winking

VX Script

Code:
# * KDualWield & Accessory Skills VX * #
#  Scripter : Kyonides Arkanthes
#  2023-02-09

# * Free as in beer * #

# Force your heroes to equip specific weapons or even an accessory as well
# in order to be enabled to cast a specific skill.
# NOTE: The Weapons Order does NOT matter here!

# * Note Tags * #
# - For Dual Weapons:        _dual 1 2_
# - For Weapons & Accesory:  _dual 1 2 acc 1_

module KDualWield
  REGEX_WEAPONS = /_dual (\d+) (\d+)_/i
  REGEX_WEAPONS_ACCESSORY = /_dual (\d+) (\d+) acc (\d+)_/i
end

class Game_Battler
  alias :kyon_dual_wpn_skill_can_use? :skill_can_use?
  def skill_can_use?(skill)
    result = kyon_dual_wpn_skill_can_use?(skill)
    return result if self.class == Game_Enemy or !two_swords_style
    if skill.note[KDualWield::REGEX_WEAPONS]
      return both_weapons?($1.to_i, $2.to_i)
    elsif skill.note[KDualWield::REGEX_WEAPONS_ACCESSORY]
      return weapons_acessory?($1.to_i, $2.to_i, $3.to_i)
    end
    result
  end
end

class Game_Actor
  def weapon_ids
    [@weapon_id, @armor1_id]
  end

  def both_weapons?(w1, w2)
    weapon_ids.sort == [w1, w2].sort
  end

  def weapons_acessory?(w1, w2, a1)
    both_weapons?(w1, w2) and @armor4_id == a1
  end
end


VX Ace Script

Code:
# * KDualWield & Accessory Skills ACE * #
#   Scripter : Kyonides Arkanthes
#   2023-02-08

# * Free as in beer * #

# Force your heroes to equip specific weapons or even an accessory as well
# in order to be enabled to cast a specific skill.
# NOTE: The Weapons Order does NOT matter here!

# * Note Tags * #
# - For Dual Weapons:        _dual 1 2_
# - For Weapons & Accesory:  _dual 1 2 acc 1_

module KDualWield
  REGEX_WEAPONS = /_dual (\d+) (\d+)_/i
  REGEX_WEAPONS_ACCESSORY = /_dual (\d+) (\d+) acc (\d+)_/i
end

class Game_Battler
  alias :kyon_dual_wpn_skill_cond_met? :skill_conditions_met?
  def skill_conditions_met?(skill)
    result = kyon_dual_wpn_skill_cond_met?(skill)
    return result if self.class == Game_Enemy or !dual_wield?
    if skill.note[KDualWield::REGEX_WEAPONS]
      return both_weapons?($1.to_i, $2.to_i)
    elsif skill.note[KDualWield::REGEX_WEAPONS_ACCESSORY]
      return weapons_acessory?($1.to_i, $2.to_i, $3.to_i)
    end
    result
  end
end

class Game_Actor
  def equip_weapons
    @equips[0..1].map{|w| w.object ? w.object.id : -1 }
  end

  def both_weapons?(w1, w2)
    equip_weapons.sort == [w1, w2].sort
  end

  def weapons_acessory?(w1, w2, w3)
    both_weapons?(w1, w2) and @equips[4].object.id == w3
  end
end


Terms & Conditions

Free as in Beer beer.
Include me in your game credits!
Do not repost it anywhere!
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9

Maranatha!

The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.

[Image: SP1-Scripter.png]
[Image: SP1-Writer.png]
[Image: SP1-Poet.png]
[Image: SP1-PixelArtist.png]
[Image: SP1-Reporter.png]

My Original Stories (available in English and Spanish)

List of Compiled Binary Executables I have published...
HiddenChest & Roole

Give me a free copy of your completed game if you include at least 3 of my scripts! Laughing + Tongue sticking out

Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Reply }


Possibly Related Threads…
Thread Author Replies Views Last Post
   Klass Change & Skills VX + ACE kyonides 0 183 09-27-2024, 08:40 PM
Last Post: kyonides
   DoubleX RMVXA Unison Skills/Items DoubleX 1 6,900 07-23-2015, 11:47 AM
Last Post: DoubleX
   Victor Engine - Cooperation Skills Victor Sant 2 8,908 02-14-2013, 04:44 PM
Last Post: Ace
   Passive Skills VX syvkal 1 6,237 03-08-2008, 01:06 AM
Last Post: syvkal
   Conditional Skills syvkal 0 4,702 03-07-2008, 09:53 PM
Last Post: syvkal



Users browsing this thread: 2 Guest(s)