Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - sasofrass

1
RMXP Script Database / Re: [XP] Blizz-ABS
December 07, 2012, 01:59:34 pm
How would you make it so using the 1234567890 keys with the actionbar can also be used with the numpad numbers?
2
I am using the autotargeting script by LiTTleDRAgo:

Spoiler: ShowHide
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Blizz ABS Smart Auto Targeting                                                 
# Version: 1.05
# Author : LiTTleDRAgo
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=

module LiTTleDRAgo

  TARGET_ANIMATION_ID = nil # 141
  TARGET_CHANGE_KEY   = Input::Key['U']
  AUTO_CHANGE_TARGET  = true


end


#==============================================================================
# BlizzABS::Controls
#==============================================================================

class BlizzABS::Controls
 
  alias update_attack_autotarget_later update_attack
  def update_attack

    if $BlizzABS.autotarget == nil
        targets = $game_map.battlers.find_all {|b| b.valid? && b.in_screen?}
        $BlizzABS.autotarget = targets[0] if targets.size > 0
    elsif Input.repeat?(LiTTleDRAgo::TARGET_CHANGE_KEY) 
      targets = $game_map.battlers.find_all {|b| b.valid? && b.in_screen?}
      index = targets.index($BlizzABS.autotarget)
      $BlizzABS.autotarget = targets[(index + 1) % targets.size] if index != nil
    end
    if $BlizzABS.autotarget != nil && (!$BlizzABS.autotarget.in_screen? ||
        !$BlizzABS.autotarget.valid?)
      $BlizzABS.autotarget = nil
    end
    return update_attack_autotarget_later
  end
 
  alias update_skill_autotarget_later update_skill
  def update_skill
    result = update_skill_autotarget_later
    if result && $BlizzABS.autotarget != nil && $game_temp.select_data != nil
      characters = []
      $game_temp.select_data[3].each {|s| characters.push(s.character)}
      if characters.include?($BlizzABS.autotarget)
        $game_player.ai.target = $BlizzABS.autotarget
        $game_player.use_skill($game_temp.select_data[0])
      else
        $BlizzABS.autotarget = nil
        update_skill
      end
      $game_temp.select_data = nil
    end
    return result
  end
 
  alias update_item_autotarget_later update_item
  def update_item
    result = update_item_autotarget_later
    if result && $BlizzABS.autotarget != nil && $game_temp.select_data != nil
      characters = []
      $game_temp.select_data[3].each {|s| characters.push(s.character)}
      if characters.include?($BlizzABS.autotarget)
        $game_player.ai.target = $BlizzABS.autotarget
        $game_player.use_item($game_temp.select_data[0])
      else
        $BlizzABS.autotarget = nil
        update_item
      end
      $game_temp.select_data = nil
    end
    return result
  end

end

#==============================================================================
# BlizzABS::Processor
#==============================================================================

class BlizzABS::Processor
 
  attr_accessor :autotarget
 
end

#==============================================================================
# Spriteset_Map
#==============================================================================

class Sprite_Targeter < RPG::Sprite
 
  attr_accessor :character
 
  def initialize(viewport, character = nil)
    super(viewport)
    self.bitmap = Bitmap.new(1, 1)
    @character = character
    update
  end
 
  def update
    @character = $BlizzABS.autotarget
    if @character == nil
      @loop_animation_id = 0
      loop_animation(nil)
      return
    end
    super
    if @loop_animation_id == 0
      @loop_animation_id = LiTTleDRAgo::TARGET_ANIMATION_ID
      loop_animation($data_animations[@loop_animation_id])
    end
    self.x = @character.screen_x
    self.y = @character.screen_y
    self.z = @character.screen_z(0)
  end
 
end

#==============================================================================
# Spriteset_Map
#==============================================================================

class Spriteset_Map
 
  alias init_autotarget_later initialize
  def initialize
    if LiTTleDRAgo::TARGET_ANIMATION_ID != nil
     @autotarget = Sprite_Targeter.new(@viewport1)
    end
    init_autotarget_later
  end
 
  alias update_autotarget_later update
  def update
    @autotarget.update if @autotarget != nil
    update_autotarget_later
  end
 
  alias dispose_autotarget_later dispose
  def dispose
    if @autotarget != nil
      @autotarget.dispose
      @autotarget = nil
    end
    dispose_autotarget_later
  end
 
end

#==============================================================================
# Scene_Map
#==============================================================================

class Scene_Map
 
  alias initer_update update
  def update
    initer_update
    changetarget if LiTTleDRAgo::AUTO_CHANGE_TARGET
  end

    def changetarget
    if $BlizzABS.autotarget != nil
      @char, char = $BlizzABS.autotarget, $game_player
      sx, sy = @char.x - $game_player.x, @char.y - $game_player.y
      return if sx == 0 and sy == 0
      dir = sx.abs > sy.abs ? sx > 0 ? 6 : 4 : sy > 0 ? 2 : 8
      if  (dir != nil && $game_player.direction != dir)
        targets, pix = $game_map.battlers.find_all {|b| b.valid? && b.in_screen?},
                       $BlizzABS.pixel
        targets.sort! {|a, b|
            Math.hypot(char.x / pix - a.x / pix, char.y / pix - a.y / pix) <=>
            Math.hypot(char.x / pix - b.x / pix, char.y / pix - b.y / pix)}
        if targets.size > 0
          sx, sy = targets[0].x - $game_player.x, targets[0].y - $game_player.y
          return if sx == 0 and sy == 0
          dir = sx.abs > sy.abs ? sx > 0 ? 6 : 4 : sy > 0 ? 2 : 8 
          if !(($game_player.direction == 6 && dir == 4) ||
               ($game_player.direction == 4 && dir == 6) ||
               ($game_player.direction == 2 && dir == 8) ||
               ($game_player.direction == 8 && dir == 2))
            $BlizzABS.autotarget = targets[0]
          end
        end
      end
    end
  end
end

$BlizzABS = BlizzABS::Processor.new


and I have a question about it. I am using this command:

$BlizzABS.actor_force_action(PARTY, ENEMIES, TROOP, SKILL, 50)


and the ability is set to do an AE attack of 4 spaces around the party members. It works, but the autotarget script isn't picking that up.

Is there anything I can change to do that?
3
I am getting this glitch after I close the menu, and this is what is appearing:

Spoiler: ShowHide


It does this when I open up page in my menu, it also stays in the background of all pages in my menu.


EDIT: my apologies, I forgot accidently removed the dispose.
4
Thank you so, so very much! This works exactly as intended! :D

<3
5
Quote from: KK20 on March 22, 2012, 08:22:13 pm
Spoiler: ShowHide
=begin
===============================================================================
Skill Damage Over Time (Blizz ABS add-on)
Version 1.00
Created by KK20

Requested by sasofrass
===============================================================================
===============================================================================
[Description]
  States that applied damage over time (DoT) always dealt damage that was equal
  to some percentage amount of the player's HP. In Blizz ABS, any state that had
  'slip damage' checked as true would always do damage equal to 2% of the
  battler's max HP every second (40 frames).
 
  This script modifies that and allows some customizable DoT amounts. States
  with 'slip damage' will now be associated with a skill. In other words, every
  time DoT takes place, the affected battler will now take damage as if it was
  attacked by a skill. Essentially, you can make a DoT state called "Burn" and
  assign it to the skill "Fire". Instead of the battler taking 2% of max HP
  damage, it will now take damage as if it were being hit by "Fire".
 
  Also, you can assign how many times DoT will take place during the duration of
  the state. No longer will DoT have to take place every second of gameplay. You
  can make DoT take place once every 3 seconds, only once in 20 seconds, or even
  3 times every second.
 
[Features]
  - Assign skills to states that deal DoT
  - Customize how many times DoT takes place
  - Maintains Blizz ABS's original slip_damage_effect, just in case you want to
    use the original "2% of max HP damage every second" somewhere
   
[Instructions]
  > In order for skills to deal damage over time, check the box "Slip Damage"
  > If you want the state to wear off after so many seconds, check the box
    "Release at the end of battle".
    If you want the state to remain forever until it is cured, don't check it.
  > How frequent DoT takes place is based on the following formula:
        FREQUENCY = TURNS / TICKS
    where TURNS is the value you put in "After [ x ] turns" in the database
    and   TICKS is the number of times you want DoT to take place (config below)
   
[Credits]
  KK20 ==> Writing the script
  Blizzard ==> For Blizz-ABS (and making this script possible)

===============================================================================
=end

#~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*
# B E G I N     C O N F I G U R A T I O N
#~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*
module Skills_DoT
 
  def self.dot_states(state_id)
    return nil unless $data_states[state_id].slip_damage
    case state_id
    #--------------------------------------------------------------------------
    # self.dot_states(state_id)
    #   Configure what skill you would like to associate to the DoT state here.
    #   Also, configure how frequent the DoT takes place during the duration of
    #   the state.
    # Format:
    #     When STATE_ID then return (SKILL_ID, TICKS)
    #     
    #   STATE_ID: The state's ID value located within the database
    #   SKILL_ID: The skill's ID value located within the database
    #   TICKS   : The number of times DoT will take place
    #--------------------------------------------------------------------------
    when 3 then return [7, 10] # when Venom, then use skill 'Fire' 10 times
    when 8 then return [13, 1] # when Paralyzed, then use skill 'Thunder' 1 time
    else
      return nil
    end
  end

end
#~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*
# E N D     C O N F I G U R A T I O N
#~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*

#=============================================================================
# Map_Battler < Game_Character                                (Blizz ABS class)
#   Aliased:
#     slip_damage_effect
#   Rewrite:
#     count_states
#     additional_states
#=============================================================================
class Map_Battler < Game_Character
  #----------------------------------------------------------------------------
  # count_states
  #  Changes the state time counters.
  #----------------------------------------------------------------------------
  def count_states
    # check each state
    battler.state_time.each_key {|id|
        # decrease counter if fading state
        battler.state_time[id] -= 1
        # if 1 second has passed and probability that the state gets removed
        ### ADDED '$data_states[id].battle_only' CONDITION ###
        if $data_states[id].battle_only && battler.state_time[id] <= 0 &&
          battler.state_time[id] % 40 == 0 && rand(100) < $data_states[id].auto_release_prob
          # remove state and counter
          battler.remove_state(id)
          battler.state_time.delete(id)
        # If this state cannot be removed after a while and reached end of timer
        elsif !$data_states[id].battle_only && battler.state_time[id] <= 0
          # Reset the state's timer
          battler.state_time[id] = $data_states[id].hold_turn * 40 + 1
        end
    }
  end
  #----------------------------------------------------------------------------
  # additional_states
  #  Handles poison and paralyze effects as well as additional status effects.
  #
  #  This method has been REWRITTEN by KK20.
  #----------------------------------------------------------------------------
  def additional_states
    # temporary variable
    slip_damage = battler.slip_damage?
    # if Tons of Add-ons is there and using Regen Status
    if $tons_version != nil && $tons_version >= 5.98 &&
        $game_system.REGEN_STATUS
      # modify slip damage flag
      slip_damage |= (HP_REGEN_IDS + SP_REGEN_IDS + SP_POISON_IDS).any? {|i|
          battler.states.include?(i)}
    end
    # if not dead and getting slip damage
    ### MOVED THE 'PER SECOND' CONDITION TO 'slip_damage_effect' ###
    if valid? && slip_damage
      # apply the slip damage
      slip_damage_effect
    end
    # if old direction fix was stored
    if @old_direction_fix != nil
      # if able to move again
      if self.restriction < 4
        # reset everything
        @direction_fix, @old_direction_fix = @old_direction_fix, nil
      end
    # if paralyzed
    elsif self.restriction == 4
      # store old direction fix and set new direction fix
      @direction_fix, @old_direction_fix = true, @direction_fix
      # reset movement
      @force_move = []
      # reset action if valid and not charging
      self.reset_action if self.valid? && !self.charging?(BlizzABS::CHARGEFreeze)
    end
  end
  #----------------------------------------------------------------------------
  # slip_damage_effect
  #  Applies slip damage effect.
  # 
  #  This method has been ALIASED and EDITTED by KK20.
  #---------------------------------------------------------------------------- 
  alias babs_slip_damage_effect_original slip_damage_effect
  def slip_damage_effect
    ids = []
    @battler.states.each{|state_id|
      # skip this state if it isn't a slip_damage or configured
      next unless Skills_DoT.dot_states(state_id) != nil
      # Calculate on what frame to apply the DoT
      frame = ($data_states[state_id].hold_turn * 40) / Skills_DoT.dot_states(state_id)[1]
      # Only do DoT damage if correct frame
      next if battler.state_time[state_id] % frame != 0
      # Prepare to calculate damage
      user = @battler.states_caused_by_characters_list[state_id]
      skill = $data_skills[Skills_DoT.dot_states(state_id)[0]]
      # Calculate power
      power = skill.power + user.atk * skill.atk_f / 100
      if power > 0
        power -= @battler.pdef * skill.pdef_f / 200
        power -= @battler.mdef * skill.mdef_f / 200
        power = [power, 1].max
      end
      # Calculate rate
      rate = 20
      rate += (user.str * skill.str_f / 100)
      rate += (user.dex * skill.dex_f / 100)
      rate += (user.agi * skill.agi_f / 100)
      rate += (user.int * skill.int_f / 100)
      # Calculate basic damage
      damage = power * rate / 20
      # Element correction
      damage *= @battler.elements_correct(skill.element_set)
      damage /= 100
      # Dispersion
      if skill.variance > 0 and damage.abs > 0
        amp = [damage.abs * skill.variance / 100, 1].max
        damage += rand(amp+1) + rand(amp+1) - amp
      end
      # Damage will always do at least 1 HP
      damage = (damage <= 0 ? 1 : damage)
      # Apply the damage
      @battler.hp -= damage
    }
    # Call BABS original slip damage method afterwards
    if Graphics.frame_count % 40 == 0
      @battler.states.each{|state_id|
        if $data_states[state_id].slip_damage and Skills_DoT.dot_states(state_id) == nil
          babs_slip_damage_effect_original
          break
        end
      }
    end
  end
end
#=============================================================================
# Game_Battler
#   Aliased:
#     initialize
#     attack_effect
#     skill_effect
#   Rewrite:
#     add_state
#     remove_state
#=============================================================================
class Game_Battler
  #-----------------------
  # Create 'set' and 'get'
  #-----------------------
  attr_accessor :state_giver_attacker
  attr_accessor :states_caused_by_characters_list
  #---------------------------------------------------------------------------
  # The following three methods have been ALIASED and EDITTED by KK20.
  #---------------------------------------------------------------------------
  alias call_orig_init_again initialize
  def initialize
    @state_giver_attacker = nil
    @states_caused_by_characters_list = {}
    call_orig_init_again
  end
 
  alias call_original_attack_effect attack_effect
  def attack_effect(attacker)
    @state_giver_attacker = attacker
    call_original_attack_effect(attacker)
  end
 
  alias call_original_skill_effect skill_effect
  def skill_effect(user, skill)
    @state_giver_attacker = user
    call_original_skill_effect(user, skill)
  end
 
  #--------------------------------------------------------------------------
  # Add State
  #
  # This method has been EDITTED by KK20.
  #--------------------------------------------------------------------------
  def add_state(state_id, force = false)
    # For an ineffective state
    if $data_states[state_id] == nil
      # End Method
      return
    end
    # If not forcefully added
    unless force
      # A state loop already in existance
      for i in @states
        # If a new state is included in the state change (-) of an existing
        # state, and that state is not included in the state change (-) of
        # a new state (example: an attempt to add poison during dead)
        if $data_states[i].minus_state_set.include?(state_id) and
           not $data_states[state_id].minus_state_set.include?(i)
          # End Method
          return
        end
      end
    end
    # If this state is not added
    unless state?(state_id)
      # Add state ID to @states array
      @states.push(state_id)
      # If this state does Skill DoT, find the actor that caused this state
      if Skills_DoT.dot_states(state_id) != nil
        @states_caused_by_characters_list[state_id] = @state_giver_attacker.clone
      end
      # If option [regarded as HP 0]is effective
      if $data_states[state_id].zero_hp
        # Change HP to 0
        @hp = 0
      end
      # All state loops
      for i in 1...$data_states.size
        # Dealing with a state change (+)
        if $data_states[state_id].plus_state_set.include?(i)
          add_state(i)
        end
        # Dealing with a state change (-)
        if $data_states[state_id].minus_state_set.include?(i)
          remove_state(i)
        end
      end
      # line change to a large rating order (if value is the same, then a
      # strong restriction order)
      @states.sort! do |a, b|
        state_a = $data_states[a]
        state_b = $data_states[b]
        if state_a.rating > state_b.rating
          -1
        elsif state_a.rating < state_b.rating
          +1
        elsif state_a.restriction > state_b.restriction
          -1
        elsif state_a.restriction < state_b.restriction
          +1
        else
          a <=> b
        end
      end
    end
    # If added forcefully
    if force
      # Set the natural removal's lowest number of turns to -1
      @states_turn[state_id] = -1
    end
    # If not added forcefully
    unless  @states_turn[state_id] == -1
      # Set the natural removal's lowest number of turns
      @states_turn[state_id] = $data_states[state_id].hold_turn
    end
    # If unable to move
    unless movable?
      # Clear action
      @current_action.clear
    end
    # Check the maximum value of HP and SP
    @hp = [@hp, self.maxhp].min
    @sp = [@sp, self.maxsp].min
  end
  #--------------------------------------------------------------------------
  # Remove State
  #
  # This method has been EDITTED by KK20.
  #--------------------------------------------------------------------------
  def remove_state(state_id, force = false)
    # If this state is added
    if state?(state_id)
      # If a forcefully added state is not forcefully removed
      if @states_turn[state_id] == -1 and not force
        # End Method
        return
      end
      # If current HP is at 0 and options are effective [regarded as HP 0]
      if @hp == 0 and $data_states[state_id].zero_hp
        # Determine if there's another state [regarded as HP 0] or not
        zero_hp = false
        for i in @states
          if i != state_id and $data_states[i].zero_hp
            zero_hp = true
          end
        end
        # Change HP to 1 if OK to remove incapacitation.
        if zero_hp == false
          @hp = 1
        end
      end
      # Delete state ID from @states and @states_turn hash array
      @states.delete(state_id)
      @states_turn.delete(state_id)
      # Clear the state-causing-actor value from hash
      @states_caused_by_characters_list.delete(state_id)
    end
    # Check maximum value for HP and SP
    @hp = [@hp, self.maxhp].min
    @sp = [@sp, self.maxsp].min
  end
end

Place below BABS and Tons. Before Main of course.

Give that a test and tell me what you think. It looked good on my end, but I didn't try to break the system.


This works perfectly!! :D Thanks you!

Is there any way to make it so it can show the damage ticks like bouncing damage?
6
Quote from: KK20 on March 21, 2012, 10:13:01 pm
Alright, I'll take a look at it more. I can't promise anything yet, but I'll update whether or not I will do it.


I would greatly appreciate it! Any abilities right now that I would like to be DoT's I can't yet make because I don't have a system for it :(


I am also trying to contact some of the creators of the few scripts I am using for commercial use. I am willing to pay a reasonable fee for a commercial use script when ready.
7
Quote from: KK20 on March 21, 2012, 12:43:27 am
Took me a while to understand the request, but I get it now. Essentially you want a DoT system that works like Maplestory's (yes, I had to go there...)

There are a number of things to keep in mind for this:
1) Can different DoT states stack?
2) How about in such an instance where Actor A and Actor B both use a "burn" skill on an enemy? Do both of their burns take effect? Or will the stronger one of the two only do DoT? Or is it based off of "whoever put DoT on the monster last takes priority"?
3) Is there such thing as SP DoT in your game? How about regen HP and/or SP?


1. If the states are different, they should stack
2. If they both use an ability that apply the same state, it will take whoever the first person applied it (which wouldn't be a problem, my game uses no partners in battle)
3. SP DoT's would not be necessary, neither would regen DoT's.


To make it simple, each time the DoT does tick damage, it will use the skill that goes with the state.

8
Quote from: game_guy on March 20, 2012, 07:42:59 pm
This? http://forum.chaos-project.com/index.php/topic,2481.0.html



It is not quite the effect I was going for, that does allow for a set amount of a percentage, but as you level up it will not scale with you if you do not use a percentage and that is what I was mainly looking for without it doing a percentage of damage to an enemy.

I was suggesting having it go with a skill because those can be designed to scale upwards as you level and can be based off of many different coefficients, making better gameplay in my opinion.
9
I would like to say I am sorry about the recent flood of requests, I am just trying to prepare all of my spells and abilities lol.

I was wondering if it would be possible to make a state deal damage based off of a skill that would work with BABS.

Example:
A state is applied with the condition [After 10 turns, 100% chance] set and Slip Damage is checked off.
The state is also considered as a DoT type of state through the script.
The script defines the state to deal damage at least 3 times throughout the 10 seconds (3.3 seconds, 6.6 seconds, 10 seconds, split evenly - damage should not be instant)
The script defines the damage should be dealt according to the skill ID set with it (to take the power/ATK/STR/DEX/AGI/INT coefficients).

Basically, I do not want a percentage dealing DoT like one that is built in. On a boss battle, it would be game breaking to have a DoT dealing like 10% every 2 seconds, while your other abilities may only do like 0.25% of the health.

I would like DoTs to deal damage based off of the skill, last as long as the duration of the state, and tick for the amount specified within the script at an equal rate.

Example 2:
State 050: Fire Damage
-Slip Damage checked
-After 12 turns, 100% chance
-when 50 return (4, 20) [when STATE_ID return (TICK_AMOUNT, SPELL_ID)]

Every 3 seconds, the damage that would be dealt from Spell_ID will be dealt instead of a percentage.


I hope that isn't too confusing or difficult.

Thanks a bunch!  :D

10
Quote from: Blizzard on March 20, 2012, 10:40:06 am
Then you will need a custom script for something like that.


For the attack increase, I think just using a state would be easiest.

For the damage reduction, would just increasing your physical/magical armors by a % be roughly reducing the damage taken by a %? If so, this thread was kind of just a poop :(
11
Quote from: Blizzard on March 20, 2012, 10:18:26 am
A status effect can increase your attack power by a certain percentage which (if I remember right) should increase your average physical damage by the same percentage.


Would there be an easier way to do this besides a state? I am designing things which increase your damage by a percentage, but having 100 states for every 1% increase and making dozens of conditional branches seems a bit of a hassle lol


I have a boss in my game infact that has an overly large amount of health (roughly 10000 when the average class does around 50 DPS), but there is a mechanic which slowly ramps up your ATK %, but for every % damage increase you have, you take more damage. That is a really rough explanation, you'll be able to see it in my demo (which should be in a few weeks, more info soon! :D)
12
Would be the mana cost in the database is actually the % of base mana that you have.

I use base mana because I have a system where for every 1 INT you have you gain 10 mana.


An example would be you have 500 base mana and 25 INT, using a spell which costs 5% base mana.
The spell would cost 25 mana because 5% of 500 (base) is 25. The 25 INT would grant you an additional 250 mana, putting you at 750 mana, but not increasing the mana cost of the ability (I hope this isn't sounding bad lol).

States that change the percentage of INT would also change your mana, but not your base mana.
States that change the percentage of MANA would not change the base mana.

Thanks! :D
13
Script Requests / Damage reduction/increase by %?
March 20, 2012, 10:06:34 am
Is there a way with BlizzABS to increase the damage you deal by a percentage or damage you receive decreased by a percentage?

Is there something like this already in tons of addons?
14
Oh, ok. Thanks :D

<3
15
Quote from: Kirye on March 15, 2012, 07:21:22 pm
Doesn't Tons of Add ons have a HP draining skill?


Most of the scripts inside Tons of Addons is not compatible with some of the scripts I have :(
17
I was curious how you would work a spell that would siphon life. An example of this:

You use the ability and deal 50 damage to the enemy and also healing you for 50 health.
You use the ability and deal 80 damage (critical) to the enemy and also healing you for 80 health.

I was playing around with stuff and, no clue. lol
18
Couldn't agree more with you lol.

Had a friend who started his own game with RMVX and had it "completed" in just 2 months time. I went to play it and it was very buggy, the story was nonexistent really, it was alright for the first 1/10th of the game then it just died. Not to mention the mapping was horrendous and extremely half-ass'd. I did manage to play through it, about 4 hours total in playable content, mainly because it was filled with so many random enemy encounters it just took so long to get from point A to B. The final boss was a disgrace, he had one ability and that was he healed himself when below 50% health.

I told him the game was awful and said I would give him a 2/10. He got extremely upset with me and we stopped talking lol. I was like  :???:

I, myself, have been working on a game for about 6 months now and I feel like I am just getting to the point where I could release a short demo for it. Maybe in another month? Who knows!
19
I actually found this on yahoo answers, it may be of help: http://answers.yahoo.com/question/index?qid=20080127114636AAZ8Gen

But this could also mean that the driver for your sound card is either out dated or it's corrupted somehow, perhaps a virus? Find out what soundcard you have and reinstall its driver.

20
Have you recently changed your display settings? This can sometimes be caused when you are running applications or programs in an incompatible setting.

You could try running the computer in safe mode to see if the problem persists, and if not you could try Microsoft Malicious Software Removal tool, Microsoft Security Esentials and Malwarebytes Anti-Malware, as this may also be the cause of some sort of malware.