Main Menu
  • Welcome to The RPG Maker Resource Kit.

[MISSING] Soul Rage System + Soul Limit System v4.4b

Started by Blizzard, September 18, 2006, 12:07:37 PM

0 Members and 1 Guest are viewing this topic.

blazinhandle

well with the first one, no one would gain any SR regardless of the state.

Darico

Ok, sorry thought I should just ask now incase someone else asks later. I thought the problem might of just changed to something esle lol.

Blizzard

@blazin:

Ok, about the first one:

Again, find these methods:


  def attack_effect(attacker)
...
  def skill_effect(user, skill)


Find this line in bothe methods:

self.sr += self.damage * SRS_rate / last_hp


Under each add:

self.sr += self.damage * SRS_rate / last_hp if @states.include?(ID)


Change ID to the state you want. This will double the SRS_rate.

BUT!
If you want it to increase consantly every round if a state is applied, you need something different.


Now about Minkoff's script:

Find this part of the code:

    # Set values and poses based on Action
    case battler.current_action.kind
    when 0  # Attack
      rush_type = $rush_attack
      full_moving = true ; if rush_type; full_moving = false; end
      if $move2center_atk.include?(battler.weapon_id); center_move=true ; end
      if $stationary_enemyid.include?(battler.id) and battler.is_a?(Game_Enemy)
        full_moving = false
        center_move = false
        rush_type = false
      end
      if battler.current_action.basic == 2
        # If escaping, disable all movement
        full_moving = false
        center_move = false
        rush_type = false       
      end
      base_pose = $p7
      base_pose = $poses_weapons[battler.weapon_id] if $poses_weapons.include?(battler.weapon_id)     
      if battler.current_action.basic == 2
        base_pose = $poses_escaping if $poses_escaping != nil
      end
     
    when 1  # Skill
      rush_type = $rush_skill
      if $moving_skill_atk.include?(@skill_used) ; full_moving = true ; end
      if $move2center_skill.include?(@skill_used) ; center_move = true ; end       
      base_pose = $p9
      base_pose = $poses_skills[@skill_used] if $poses_skills.include?(@skill_used)
    when 2  # Item
      rush_type = $rush_item
      if $moving_item_atk.include?(@item_used) or @item_scope == 1..2 ; full_moving = true ; end
      if $move2center_item.include?(@item_used); center_move = true; end
      base_pose = $p8
      base_pose = $poses_items[@item_used] if $poses_items.include?(@item_used)


Add after them these lines here:

    when 3  # SR
      rush_type = $rush_skill
      if $moving_skill_atk.include?(@skill_used) ; full_moving = true ; end
      if $move2center_skill.include?(@skill_used) ; center_move = true ; end       
      base_pose = $p9
      base_pose = $poses_skills[@skill_used] if $poses_skills.include?(@skill_used)
    when 9  # SL
      rush_type = $rush_skill
      if $moving_skill_atk.include?(@skill_used) ; full_moving = true ; end
      if $move2center_skill.include?(@skill_used) ; center_move = true ; end       
      base_pose = $p9
      base_pose = $poses_skills[@skill_used] if $poses_skills.include?(@skill_used)
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.



Get DropBox, the best free file syncing service there is!

blazinhandle

wow.....

okay, the first one works now for sure. Sorry, I was replacing it instead of adding it before.

And commands are all set as well. My hat is off to you permanently, Blizz!  :=:

blazinhandle

hey blizz, is this compatable with Momo's battle icon command script?

Momo's Battle Icon Command Script

###################################################
# ?????????????
#
# ??????????????????????
# ??????????????????????????
# ?????????????????????????????
# ???????????????????????????????????
#
# 2005.8.15 ????
# ???????????????????????????
#
# 2006.2.17
# ????????????????????

if true  # ?????? true????false???
 
module Momo_IconCommand
  # ???????????
  ATTACK_ICON_NAME = "Weapon01" # ??
  SKILL_ICON_NAME = "Skill01"   # ???
  GUARD_ICON_NAME = "menu2"  # ??
  ITEM_ICON_NAME = "Item01"     # ????
  # ??????x????
  X_PLUS = -60
  # ??????y????
  Y_PLUS = -170
  # ??????????
  # 0:????? 1:??
  SELECT_TYPE = 1
  # ????????
  FLASH_COLOR = Color.new(255, 255, 255, 128)
  # ???????????(????)
  FLASH_DURATION = 10
  # ?????????(????)
  FLASH_INTERVAL = 20
 
  ZOOM_MAX = 1.5      # ????(1.0??)
  ZOOM_MIN = 0.5      # ????(1.0??)
  ZOOM_INTERVAL1 = 4  # ????????????????
  ZOOM_INTERVAL2 = 4  # ????????????????
  ZOOM_INTERVAL3 = 4  # ????????????????
  ZOOM_INTERVAL4 = 4  # ????????????????
  ZOOM_TYPE = true   # ???????true????????false
 
  # ????????????????
  COM_NAME_DROW = true
  # ??????????
  COM_NAME_MOVE = true
  # ???????
  ATTACK_NAME = "Attack"    # ??
  SKILL_NAME = "Skills"   # ???
  GUARD_NAME = "Defend"     # ??
  ITEM_NAME = "Items"  # ????
  # ????
  COM_NAME_COLOR = Color.new(255, 255, 255, 255)
  # ????????????
  COM_NAME_X_PLUS = 60
  COM_NAME_Y_PLUS = 60
end

class Window_CommandIcon < Window_Selectable
  attr_accessor :last_index
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def initialize(x, y, commands)
    super(520, 150, 40, 160)
    # ??????????????????????????????????
   
    @item_max = commands.size
    @commands = commands
    @row_max = commands.size
    @index = 0
    @last_index = nil
    @name_sprite = nil
    @sprite = []

    self.opacity = 160
    refresh
  end
  def dispose
    super
    for sprite in @sprite
      sprite.dispose unless sprite.nil?
    end
    @name_sprite.dispose unless @name_sprite.nil?
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def refresh
    @name_sprite.dispose unless @name_sprite.nil?
    for sprite in @sprite
      sprite.dispose unless sprite.nil?
    end
    @name_sprite = nil
    draw_com_name if Momo_IconCommand::COM_NAME_DROW
    @sprite = []
    for i in 0...@item_max
      draw_item(i)
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def draw_item(index)
    @sprite[index] = Sprite_Icon.new(nil, @commands[index])
    @sprite[index].z = self.z + 1
   
  end
  def draw_com_name
    @name_sprite = Sprite_Comm_Name.new(nil, get_com_name)
   
  end
 
  # ??
  def update
    super
    icon_update
    com_name_update if Momo_IconCommand::COM_NAME_DROW
    if move_index?
      @last_index = self.index
    end
  end
  # ???????
  def icon_update
    for i in 0...@sprite.size

     
      @sprite[i].active = (self.index == i)
      @sprite[i].x = self.x + 20#+ i * 24
      @sprite[i].y = self.y  + i * 30 +32
      @sprite[i].z = (self.index == i) ? self.z + 2 : self.z + 1
      @sprite[i].visible = self.visible
      @sprite[i].update
    end
  end
  # ??????????
  def com_name_update
    if move_index?
      @name_sprite.name = get_com_name
    end
    @name_sprite.x = self.x - 12 + Momo_IconCommand::COM_NAME_X_PLUS
    @name_sprite.y = self.y - 40 + Momo_IconCommand::COM_NAME_Y_PLUS
    @name_sprite.z = self.z + 1
    @name_sprite.active = self.active
    @name_sprite.visible = self.visible
    @name_sprite.update
  end
  def get_com_name
    make_name_set if @name_set.nil?
    name = @name_set[self.index]
    name = "" if name.nil?
    return name
  end
  def make_name_set
    @name_set = []
    @name_set[0] = Momo_IconCommand::ATTACK_NAME
    @name_set[1] = Momo_IconCommand::SKILL_NAME
    @name_set[2] = Momo_IconCommand::GUARD_NAME
    @name_set[3] = Momo_IconCommand::ITEM_NAME
  end
  def move_index?
    return self.index != @last_index
  end
  def need_reset
    @name_sprite.need_reset = true if Momo_IconCommand::COM_NAME_DROW
  end
end

# ??????????
class Sprite_Icon < Sprite
  attr_accessor :active
  attr_accessor :icon_name
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def initialize(viewport, icon_name)
    super(viewport)
    @icon_name = icon_name
    @last_icon = @icon_name
    @count = 0
    @zoom_in = Momo_IconCommand::ZOOM_TYPE
    self.bitmap = RPG::Cache.icon(@icon_name)
    self.ox = self.bitmap.width / 2
    self.oy = self.bitmap.height / 2
    @active = false
  end
  #--------------------------------------------------------------------------
  # ? ??
  #--------------------------------------------------------------------------
  def dispose
    if self.bitmap != nil
      self.bitmap.dispose
    end
    super
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def update
    super
    if @icon_name != @last_icon
      @last_icon = @icon_name
      self.bitmap = RPG::Cache.icon(@icon_name)
    end
    if @active
      case Momo_IconCommand::SELECT_TYPE
      when 0
        icon_flash
      when 1
        icon_zoom
      end
    else
      icon_reset
    end
  end
  def icon_flash
    if @count % Momo_IconCommand::FLASH_INTERVAL == 0 or @count == 1
      self.flash(Momo_IconCommand::FLASH_COLOR, Momo_IconCommand::FLASH_DURATION)
    end
    @count += 1
  end
  # ????
  def icon_zoom
    if @zoom_in
      interval1 = Momo_IconCommand::ZOOM_INTERVAL1
      interval2 = Momo_IconCommand::ZOOM_INTERVAL2
      zoom_max = Momo_IconCommand::ZOOM_MAX
      zoom_in(zoom_max, interval1, interval2)
    else
      interval1 = Momo_IconCommand::ZOOM_INTERVAL3
      interval2 = Momo_IconCommand::ZOOM_INTERVAL4
      zoom_min = Momo_IconCommand::ZOOM_MIN
      zoom_out(zoom_min, interval1, interval2)
    end
    @count += 1
    if @count >= interval1 + interval2
      @count = 0
      @zoom_in ^= true
    end
  end
  # ????
  def zoom_in(zoom_max, interval1, interval2)
    if interval1 >= @count
      zoom = 1.0 + (zoom_max - 1.0) * (1.0 * @count / interval1)
    else
      zoom = zoom_max - (zoom_max - 1.0) * (1.0 * (@count - interval1) / interval2)
    end
    self.zoom_x = zoom
    self.zoom_y = zoom
  end
  # ????
  def zoom_out(zoom_min, interval1, interval2)
    if interval1 >= @count
      zoom = 1.0 - (1.0 - zoom_min) * (1.0 * @count / interval1)
    else
      zoom = zoom_min + (1.0 - zoom_min) * (1.0 * (@count - interval1) / interval2)
    end
    self.zoom_x = zoom
    self.zoom_y = zoom
  end
  def icon_zoom000
    case @count
    when 1..10
      zoom = 1.0 + @count / 10.0
    when 11..20
      zoom = 2.0 - (@count - 10) / 10.0
    end
    self.zoom_x = zoom
    self.zoom_y = zoom
  end
  def icon_reset
    @count = 0
    self.zoom_x = 1.0
    self.zoom_y = 1.0
  end
end

# ?????????????
class Sprite_Comm_Name < Sprite
  attr_accessor :active
  attr_accessor :name
  attr_accessor :need_reset
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def initialize(viewport, name)
    super(viewport)
    @name = name
    @last_name = nil
    @count = 0
    @x_plus = 0
    @opa_plus = 0
    @need_reset = false
    @active = false
    self.bitmap = Bitmap.new(160, 32)
  end
  #--------------------------------------------------------------------------
  # ? ??
  #--------------------------------------------------------------------------
  def dispose
    if self.bitmap != nil
      self.bitmap.dispose
    end
    super
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def update
    super
    if @active
      if need_reset?
        @need_reset = false
        @last_name = @name
        text_reset
      end
      move_text if Momo_IconCommand::COM_NAME_MOVE
    end
  end
  def move_text
    @count += 1
    @x_plus = [@count * 8, 80].min
    self.x = self.x - 80 + @x_plus
    self.opacity = @count * 25
  end
  def text_reset
    @count = 0
    @x_plus = 0
    self.bitmap.clear
    self.bitmap.font.name = "Final Frontier"
    self.bitmap.font.color = Momo_IconCommand::COM_NAME_COLOR
    self.bitmap.draw_text(0, 0, 160, 32, @name)
  end
  def need_reset?
    return (@name != @last_name or @need_reset)
  end
end

class Scene_Battle
  #--------------------------------------------------------------------------
  # ? ???????????
  #--------------------------------------------------------------------------
  alias scene_battle_icon_command_start_phase1 start_phase1
  def start_phase1
    com1 = Momo_IconCommand::ATTACK_ICON_NAME
    com2 = Momo_IconCommand::SKILL_ICON_NAME
    com3 = Momo_IconCommand::GUARD_ICON_NAME
    com4 = Momo_IconCommand::ITEM_ICON_NAME
    @actor_command_window = Window_CommandIcon.new(0, 0, [com1, com2, com3, com4]) #Window_CommandIcon
    @actor_command_window.y = 50
    @actor_command_window.back_opacity = 160
    @actor_command_window.active = false
    @actor_command_window.visible = false
    @actor_command_window.update
    scene_battle_icon_command_start_phase1
  end
  #--------------------------------------------------------------------------
  # ? ????????????????????
  #--------------------------------------------------------------------------
#  alias scene_battle_icon_command_phase3_setup_command_window phase3_setup_command_window
#  def phase3_setup_command_window
#    scene_battle_icon_command_phase3_setup_command_window
    # ???????????????????
#    @actor_command_window.x = command_window_actor_x(@actor_index)
#    @actor_command_window.y = command_window_actor_y(@actor_index)
#    @actor_command_window.need_reset
#  end
#  def command_window_actor_x(index)
#    $game_party.actors[index].screen_x + Momo_IconCommand::X_PLUS
#  end
#  def command_window_actor_y(index)
#    $game_party.actors[index].screen_y + Momo_IconCommand::Y_PLUS
#  end
end
end

Blizzard

#55
Nope. At least not that I know.

And LOL, my battle icon script is shorter and looks better. :)
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.



Get DropBox, the best free file syncing service there is!

blazinhandle

ur wouldn't happen to have the link for that would you  ;) ;) sorry about the irrelevance to the SR/SL topic...

Blizzard

Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.



Get DropBox, the best free file syncing service there is!

blazinhandle


oneray

#59
When ever I choose a skill through a weapon or armour, and press either left or right, I experience an error. It is hard to explain but it think this will help: ATTACK>WEAPON SKILL>GRANLIAN TRUST (SKILL)>ERROR

Blizzard

Hm... Very unusual... Well, just upload your Scripts.rxdata again, I'll fix it. ;)
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.



Get DropBox, the best free file syncing service there is!


Blizzard

No problem. ;D I'll release a version 4.3b with a refined code in the next few days. I have noticed and "apparent glitch". The SR attribute wouldn't reset when the character is killed with a "Do damage in battle" event command. Also I that gives me the opportunity to remove some lines of the code. In other words: I know what I need to fix, it takes about 5 minutes. ::)
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.



Get DropBox, the best free file syncing service there is!

Karo Rushe

I would like to know how to make a skill that would Recover the SL/SR Bar in Battle, I kinda gets glitches all over it.

Blizzard

Make a commone event call and just use the Call Script command. You would only need a separate skills and a separate common event for each character. You can find in the instructions how to increase/decrease the SR with a Call Script command.
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.



Get DropBox, the best free file syncing service there is!

blazinhandle

blizz, is the SR compatable with advance skill scopes?

Blizzard

#66
*updates*
Now compatible with Tons of Add-ons. ;8

EDIT:
@blazin: Most probably yes.
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.



Get DropBox, the best free file syncing service there is!

Karo Rushe

>=D Excellent....

I will Enjoy this even more.

Blizzard

Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.



Get DropBox, the best free file syncing service there is!

tSwitch

I'm going to use this for my game.
great system.

only 2 things I want to ask

1) why dosen't the cursor stay on Soul Limit or Soul Rage when you cycle
to them?
2) do you mind if I change some of the names to fit my storyline?
like change Soul Limit into Finisher or something?


FCF3a A+ C- D H- M P+ R T W- Z- Sf RLCT a cmn+++ d++ e++ f h+++ iw+++ j+ p sf+
Follow my project: MBlok | Find me on: Bandcamp | Twitter | Patreon

Blizzard

#70
1) Ever played FF7/FF8/FF9? You know, when you press right, the command comes up, but when you let go of it, the old command appears again. That's why.

2) Sure, feel free to rename it, lol! Press CTRL+SHIFT+F, type in the first window "Soul Rage" (with the ") and in the second "YOUR_NEW_NAME_FOR_SOUL_RAGE". Soul Limit is never mentioned as such within the script, only in the comments, so you don't need to rename that one in the script. I use the name "Meta Soul Limit" for the Limits in my game. ;)
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.



Get DropBox, the best free file syncing service there is!

tSwitch

yes I have played FF7-9, I just wondered if it was supposed to 'stick'

I'm glad there aren't issues with the names.
and yeah I just realized that limit never is mentioned.


FCF3a A+ C- D H- M P+ R T W- Z- Sf RLCT a cmn+++ d++ e++ f h+++ iw+++ j+ p sf+
Follow my project: MBlok | Find me on: Bandcamp | Twitter | Patreon

Ceaon

Hey, I got a question.
In battle, the percentage is showing (for example 45,3%). Which lines do you have to remove so that you only view the bar, not the percentage? Thanks in advance.
Nothing happened.
Then, nothing continued to happen.

Blizzard

self.contents.draw_text(x, y, w, h "SOMETEXT_WITH_%_IN_IT") in def draw_actor_sr.
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.



Get DropBox, the best free file syncing service there is!

Ceaon

Thanks, it's not what you said, but I now found it out myself. Very nice script btw.
Nothing happened.
Then, nothing continued to happen.