New Materia,
#1
New Materia
by Vandette
Mar 2 2006

This is a locked, single-post thread from Creation Asylum. Archived here to prevent its loss.
No support is given. If you are the owner of the thread, please contact administration.


First off, thanks goes to SephirothSpawn for the creation of his amazingly useful and customizable script.

Secondly, when adding the materia information to the list of materia, make sure you give it the next available number (ex: if you have 10 materias, make the one you are adding number 11), the number is the first value in the materia info array.

Thirdly, (also about when adding materia) when you add a materia, make sure that the last materia in the list has no comma at the end of it, but all the other ones do.

and with out further ado, the Materias:

Materia 1: Critical Hit Chance Up

Inspired by: Satiel
Materia Type: Independent (purple)
Description: Raises your chance of a critical hit when equipped, amount raised is based on materia level
Instructions: add this materia to your materia list:

Code:
Materia.new(51, 'Critical Plus', 'Independent', [0, 0, 0, 0, 0, 0], [], [], 2000, 10000,
        [], [2000, 4000, 7000, 11000], 'Critical Plus')


now find this code (in materia system):
Code:
#--------------------------------------------------------------------------
# * Get Intelligence (INT)
#--------------------------------------------------------------------------
def int
# Orginal Max Int Method
n = seph_materiasystem_gameactor_int
# Collects SP Difference From Materia
variance = 0
for materia in @weapon_materia + @armor1_materia + @armor2_materia +
@armor3_materia + @armor4_materia
unless materia.nil?
variance += materia.stat_effects[5]
if materia.special_effect == 'Magic Plus'
variance += (materia.level * 5)
end
end
end
# Takes Percentage
n *= ((100 + variance) / 100.0)
n = [[Integer(n), 1].max, 999].min
return n
end

and add this after it:
Code:
#--------------------------------------------------------------------------
  # * Critical Hit Chance Up
  #--------------------------------------------------------------------------
  def critplus
    variance = 0
    for materia in @weapon_materia + @armor1_materia + @armor2_materia +
        @armor3_materia + @armor4_materia
      unless materia.nil?
        if materia.special_effect == 'Critical Plus'
          variance += (materia.level * 5)
        end
      end
    end
    return variance
  end



now goto Game_Battler 3 and find this line:
Code:
if rand(100) < 4 * attacker.dex / self.agi


and replace it with:
Code:
if rand(100) < ((4 * attacker.dex / self.agi) + attacker.critplus)


now go to Game_Enemy and and add a new def called critplus with this code:
Code:
#--------------------------------------------------------------------------
  # * Critical Fix
  #--------------------------------------------------------------------------
  def critplus
    return 0
  end





and thats all.



Materia 2: Escape From Battle Chance Up

Inspired by: Drake_Miriel
Materia Type: Independent (purple)
Description: Raises your chance of escaping from battle when equipped, raise is based on materia level
Instructions: add this materia to your materia list:

Code:
Materia.new(52, 'Escape Plus', 'Independent', [0, 0, 0, 0, 0, 0], [], [], 2000, 10000,
        [], [2000, 4000, 7000, 11000], 'Escape Plus')


now find this code (in materia system):
Code:
#--------------------------------------------------------------------------
# * Get Intelligence (INT)
#--------------------------------------------------------------------------
def int
# Orginal Max Int Method
n = seph_materiasystem_gameactor_int
# Collects SP Difference From Materia
variance = 0
for materia in @weapon_materia + @armor1_materia + @armor2_materia +
@armor3_materia + @armor4_materia
unless materia.nil?
variance += materia.stat_effects[5]
if materia.special_effect == 'Magic Plus'
variance += (materia.level * 5)
end
end
end
# Takes Percentage
n *= ((100 + variance) / 100.0)
n = [[Integer(n), 1].max, 999].min
return n
end

and add this after it:
Code:
#--------------------------------------------------------------------------
  # * Escape Chance Up
  #--------------------------------------------------------------------------
  def escapeplus
    variance = 0
    for materia in @weapon_materia + @armor1_materia + @armor2_materia +
        @armor3_materia + @armor4_materia
      unless materia.nil?
        if materia.special_effect == 'Escape Plus'
          variance += (materia.level * 5)
        end
      end
    end
    return variance
  end

now go to Scene_Battle 2 and look for this:
Code:
# Calculate actor agility average
    actors_agi = 0
    actors_number = 0
    for actor in $game_party.actors
      if actor.exist?
        actors_agi += actor.agi
        actors_number += 1
      end
    end

and add this right after it:
Code:
# Checks for escapeplus materia
    escapeplus = 0
    actors_number = 0
    for actor in $game_party.actors
      if actor.exist?
        escapeplus += actor.escapeplus
        actors_number += 1
      end
    end

now scroll down a bit and find this line:
Code:
success = rand(100) < 50 * actors_agi / enemies_agi

and replace it with this:
Code:
success = rand(100) < (50 * actors_agi / enemies_agi) + escapeplus



and thats all.


Materia 3: Decrease Casting Cost

Inspired by: Drake_Miriel
Materia Type: Support (blue)
Description: decreases casting cost of attached materia skills based on materia level
Instructions: add this materia to your materia list:

Code:
Materia.new(54, 'Casting Cost Down', 'Support', [0, 0, 0, 0, 0, 0], [], [], 2000, 10000,
        [], [11000], 'Casting Cost Down')

now find def update_phase3_skill_select (in materia system) and add a line after the third 'end' and put this in it:
Code:
if materia.special_effect == 'Casting Cost Down'
for skill_id in other_materia.skills
if skill_id == @skill.id
# Duplicates Skill and Changes ID
new_skill = @skill.dup
new_skill.sp_cost = (@skill.sp_cost / (materia.level * 2))
new_skill.id = $data_skills.size
$data_skills << new_skill
@active_battler.learn_skill(new_skill.id)
# Set action
@active_battler.current_action.skill_id = new_skill.id
# End skill selection
end_skill_select
# End enemy selection
end_enemy_select unless @enemy_arrow.nil?
# End actor selection
end_actor_select unless @actor_arrow.nil?
# Go to command input for next actor
phase3_next_actor
end
end
end


and thats all.



Materia 4: Increased Item Drops

Inspired by: Vandette
Materia Type: Independent (purple)
Description: Raises your chance of an enemy dropping an item after battle, raise based on materia level
Instructions: add this materia to your materia list:

Code:
Materia.new(53, 'Item Drop Up', 'Independent', [0, 0, 0, 0, 0, 0], [], [], 2000, 10000,
        [], [2000, 4000, 7000, 11000], 'Item Drop Up')

now find this code (in materia system):
Code:
#--------------------------------------------------------------------------
  # * Get Intelligence (INT)
  #--------------------------------------------------------------------------
  def int
    # Orginal Max Int Method
    n = seph_materiasystem_gameactor_int  
    # Collects SP Difference From Materia
    variance = 0
    for materia in @weapon_materia + @armor1_materia + @armor2_materia +
        @armor3_materia + @armor4_materia
      unless materia.nil?
        variance += materia.stat_effects[5]
        if materia.special_effect == 'Magic Plus'
          variance += (materia.level * 5)
        end
      end
    end
    # Takes Percentage
    n *= ((100 + variance) / 100.0)
    n = [[Integer(n), 1].max, 999].min
    return n
  end

and add this after it:

Code:
#--------------------------------------------------------------------------
  # * Item Drop Chance Up
  #--------------------------------------------------------------------------
  def itemdropup
    variance = 0
    for materia in @weapon_materia + @armor1_materia + @armor2_materia +
        @armor3_materia + @armor4_materia
      unless materia.nil?
        if materia.special_effect == 'Item Drop Up'
          variance += (materia.level * 5)
        end
      end
    end
    return variance
  end

now goto Scene_Battle 2 (def start_phase5) and find this this:
Code:
gold += enemy.gold

right after it add this:
Code:
dropup = 0
        actors_number = 0
        for actor in $game_party.actors
          if actor.exist?
            dropup += actor.itemdropup
            actors_number += 1
          end
        end

now scroll down a little and find:
Code:
if rand(100) < enemy.treasure_prob
change it to this:
Code:
if rand(100) < enemy.treasure_prob + dropup

nd thats all.



Materia 5: Damage Cut

Inspired by: Drake_Miriel
Materia Type: Independent (purple)
Description: cuts damage received in battle, cut based on materia level
Instructions: add this materia to your materia list:

Code:
Materia.new(54, 'Cut Damage', 'Independent', [0, 0, 0, 0, 0, 0], [], [], 2000, 10000,
        [], [2000, 4000, 7000, 11000], 'Cut Damage')

now find this code (in materia system):
Code:
#--------------------------------------------------------------------------
  # * Get Intelligence (INT)
  #--------------------------------------------------------------------------
  def int
    # Orginal Max Int Method
    n = seph_materiasystem_gameactor_int  
    # Collects SP Difference From Materia
    variance = 0
    for materia in @weapon_materia + @armor1_materia + @armor2_materia +
        @armor3_materia + @armor4_materia
      unless materia.nil?
        variance += materia.stat_effects[5]
        if materia.special_effect == 'Magic Plus'
          variance += (materia.level * 5)
        end
      end
    end
    # Takes Percentage
    n *= ((100 + variance) / 100.0)
    n = [[Integer(n), 1].max, 999].min
    return n
  end

and add this after it:

Code:
#--------------------------------------------------------------------------
  # * Cut Damage
  #--------------------------------------------------------------------------
  def cutdamage
    variance = 1.0
    for materia in @weapon_materia + @armor1_materia + @armor2_materia +
        @armor3_materia + @armor4_materia
      unless materia.nil?
        if materia.special_effect == 'Cut Damage'
          variance = (1.0 + (materia.level / 5.0))
        end
      end
    end
    return variance
  end

now go to Game_Enemy and and add a new def called cutdamage with this code:
Code:
#--------------------------------------------------------------------------
  # * Cut Damage Fix
  #--------------------------------------------------------------------------
  def cutdamage
    return 1
  end

right after it add this:
Code:
dropup = 0
        actors_number = 0
        for actor in $game_party.actors
          if actor.exist?
            dropup += actor.itemdropup
            actors_number += 1
          end
        end

now go to Scene_Battler 3 and go to the def called Attack Effect and find this code:
Code:
self.hp -= self.damage

replace it with this:
Code:
subdmg = self.damage / self.cutdamage
      self.damage = subdmg.to_i
      self.hp -= self.damage


and thats all.



if you have any materia requests, post them here.
}




Users browsing this thread: 1 Guest(s)