[VX] Percentage Damage

Thảo luận trong 'Game Development' bắt đầu bởi Zell Dinch, 7/7/09.

  1. Zell Dinch

    Zell Dinch Gloria in excelsis Deo Lão Làng GVN

    Tham gia ngày:
    18/7/03
    Bài viết:
    2,312
    Cống hiến chút ít cho post nào. Script này tạo khả năng khởi tạo các skill rút HP của đối thủ theo tỉ lệ phần trăm.
    Cách dùng thì trong script mình đã nói rõ, có gì thắc mắc thì tùy ý ha. ^^

    Mã:
     #==============================================================================
    # ■ Demi Skill Addon by Zell Dinch
    # 05.27.2009
    # Guide:
    #   Tao skill voi element thiet lap trong phan DEMI_ELEMENT
    #   Base Damage cua skill se la he so phan tram cua damage
    #   Neu Variance cua skill la 1, damage se dua tren max HP
    #   Neu Variance co gia tri khac, damage se dua tren HP hien co
    #   Ex: Base_Damage = 50 => Damage cua skill se la 50% (1/2) HP doi thu
    #       Base_Damage = 75 => Damage cua skill se la 75% (3/4) HP doi thu
    #------------------------------------------------------------------------------
    
    module DEMI_VAR
      # Skill element that grants demi effects.  Default is 17.
      DEMI_ELEMENT = 17
    end
    
    class Game_Battler
      alias make_obj_damage_value_demi make_obj_damage_value
        def make_obj_damage_value(user, obj)
          make_obj_damage_value_demi(user, obj)
          if obj.element_set.include?(DEMI_VAR::DEMI_ELEMENT)
            if obj.variance == 1
              damage = self.maxhp * obj.base_damage / 100
            else
              damage = self.hp * obj.base_damage / 100
            end
            damage *= elements_max_rate(obj.element_set)    # elemental adjustment
            damage /= 100
            if obj.damage_to_mp  
              @mp_damage = damage
            else
              @hp_damage = damage
            end
          end
        end
      end
     

Chia sẻ trang này