[XP] Blizz-ABS

Started by Blizzard, January 09, 2008, 08:21:56 am

Previous topic - Next topic

Lost King

Awesome, the normal sprites work now, thanks for fixing that :D
*Scribble Scribble* Oh right, not that sort of signature.

Blizzard

Quote from: poxysmash on January 17, 2010, 11:50:32 am
Okay, how about this. When the option to move on charge or trigger after charge is made the user can select which frame to freeze at (with a scroll box or something) if the player is standing still. That way when moving the character is animated and when standing he doesn't animate. This could also be done for defending if the option to choose moving defend is added, as you mentioned.


Use custom charge animation sprites.

Quote from: poxysmash on January 17, 2010, 11:50:32 am
Also, don't mean to be a pain but I noticed if the player is hit from behind he is knocked back into the enemy. Probably others have mentioned this before though... :^_^':


Currently it works like this: When you get hit, you get thrown back depending on where you look at in the same moment you got hit.
There were a few much earlier versions that would knock back the character relatively from the attacker, but many people complained about that so I changed it.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

G_G

I think there's a small bug with events.

I have 2 kids running around in one square. Both events are set to action button. Now when I walk in front of kid 1 the event activated as if it were set to Touch Event. And I double checked its only set to Action Button with a custom move route set.

Here's kid 1's event page.
Spoiler: ShowHide


Here's the Move Route page.
Spoiler: ShowHide


It only happens when I walk in front of her.

RoseSkye

The event opacity issue is annoying as crap. Also the teleporting on event is annoying... I can probably event over that... probably, but the opacity issue is annoying.

Blizzard

The opacity issue can't be solved or the ghostlike appearance ofdead characters won't work anymore.

@G_G: Demo me.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

RoseSkye

Quote from: Blizzard on January 19, 2010, 05:08:04 am
The opacity issue can't be solved or the ghostlike appearance ofdead characters won't work anymore.

@G_G: Demo me.


Its the same problem that causes the event touch thing that I uploaded a few months ago. If an event runs into you it'll activate and basically you become stuck. In his demo the event ran into the player and it repeated the same message over, and over, and over again.

G_G

Here Blizzard. Thought I'd show you the bug so maybe you can fix it, however rose found a little workaround until you do fix it.
http://www.sendspace.com/file/n41c11

poxy

Hi again.
Blizzard if you could look at my demo it will better show what I meant about charging sprites. thanks

http://www.megaupload.com/?d=JC96VAR9
My Project: ShowHide

Blizzard

I'll take a look at it as soon as I can.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Jragyn

January 27, 2010, 02:19:47 am #2989 Last Edit: January 27, 2010, 04:11:45 am by jragyn00
Dear Mister Blizzard, (or whomever can miraculate an answer to this)

I use Blizz-ABS 2.6.   8)
I /also/ use this script: :)
Spoiler: ShowHide
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/    ◆戦闘難易度 - KGC_BattleDifficulty◆
#_/----------------------------------------------------------------------------
#_/  戦闘難易度の設定機能を追加します。
#_/  (メニュー等に表示する場合は[MenuAlter][TitleOption]参照)
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#==============================================================================
# ★ カスタマイズ項目 ★
#==============================================================================

module KGC
 # ◆ Difficulty
 #  " Name ", HP, SP, STATS, EXP, Gold, Drop Rate»
 # Specify the magnification of each item (percentage).
 BD_DIFFICULTY_LIST = [
   ["Sissy-Bitch",  33,  33,  50,  25,  25,  10], # 0
   ["Weak",         66,  66,  75,  50,  50,  25], # 1
   ["Regular",     100, 100, 100, 100, 100, 100], # 2
   ["Hard-ish",    150, 150, 150, 150, 125, 150], # 3
   ["Psycho",      200, 200, 200, 175, 150, 200], # 4
   ["Infinity",    400, 400, 400, 300, 250, 400], # 5
   ["L33t Mode",   800, 800, 800, 600, 500, 800]  # 6
 ]
 # ◆初期難易度
 #  BD_DIFFICULTY_LIST のインデックス。
 BD_INITIAL_DIFFICULTY = 2
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

$imported = {} if $imported == nil
$imported["BattleDifficulty"] = true

module Difficulty
 #--------------------------------------------------------------------------
 # ● 難易度設定取得
 #--------------------------------------------------------------------------
 def self.get
   # 難易度設定を返す
   return KGC::BD_DIFFICULTY_LIST[$game_system.difficulty]
 end
 #--------------------------------------------------------------------------
 # ● 難易度設定変更
 #--------------------------------------------------------------------------
 def self.set(index)
   # 範囲外ならば変更しない
   return if index < 0 || index >= KGC::BD_DIFFICULTY_LIST.size
   $game_system.difficulty = index
 end
 #--------------------------------------------------------------------------
 # ● 能力値補正済みエネミー取得
 #--------------------------------------------------------------------------
 def self.get_revised_enemy(enemy)
   en = enemy.clone
   diff = self.get
   en.maxhp = en.maxhp * diff[1] / 100
   en.maxsp = en.maxsp * diff[2] / 100
   en.str   = en.str   * diff[3] / 100
   en.dex   = en.dex   * diff[3] / 100
   en.agi   = en.agi   * diff[3] / 100
   en.int   = en.int   * diff[3] / 100
   en.atk   = en.atk   * diff[3] / 100
   en.pdef  = en.pdef  * diff[3] / 100
   en.mdef  = en.mdef  * diff[3] / 100
   en.exp   = en.exp   * diff[4] / 100
   en.gold  = en.gold  * diff[4] / 100
   if en.treasure_prob < 100
     en.treasure_prob = [en.treasure_prob * diff[5] / 100, 100].min
   end
   return en
 end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_System
#==============================================================================

class Game_System
 attr_accessor :difficulty  # 難易度
 #--------------------------------------------------------------------------
 # ● オブジェクト初期化
 #--------------------------------------------------------------------------
 alias initialize_KGC_BattleDifficulty initialize
 def initialize
   # 元の処理を実行
   initialize_KGC_BattleDifficulty

   @difficulty = KGC::BD_INITIAL_DIFFICULTY
 end
 #--------------------------------------------------------------------------
 # ● 難易度一覧
 #--------------------------------------------------------------------------
 def difficulty_list
   return KGC::BD_DIFFICULTY_LIST
 end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Enemy
#==============================================================================

class Game_Enemy < Game_Battler
 #--------------------------------------------------------------------------
 # ● 基本 MaxHP の取得
 #--------------------------------------------------------------------------
 alias base_maxhp_KGC_BattleDifficulty base_maxhp
 def base_maxhp
   n = base_maxhp_KGC_BattleDifficulty
   n *= Difficulty.get[1]
   return n / 100
 end
 #--------------------------------------------------------------------------
 # ● 基本 MaxSP の取得
 #--------------------------------------------------------------------------
 alias base_maxsp_KGC_BattleDifficulty base_maxsp
 def base_maxsp
   n = base_maxsp_KGC_BattleDifficulty
   n *= Difficulty.get[2]
   return n / 100
 end
 #--------------------------------------------------------------------------
 # ● 基本腕力の取得
 #--------------------------------------------------------------------------
 alias base_str_KGC_BattleDifficulty base_str
 def base_str
   n = base_str_KGC_BattleDifficulty
   n *= Difficulty.get[3]
   return n / 100
 end
 #--------------------------------------------------------------------------
 # ● 基本器用さの取得
 #--------------------------------------------------------------------------
 alias base_dex_KGC_BattleDifficulty base_dex
 def base_dex
   n = base_dex_KGC_BattleDifficulty
   n *= Difficulty.get[3]
   return n / 100
 end
 #--------------------------------------------------------------------------
 # ● 基本素早さの取得
 #--------------------------------------------------------------------------
 alias base_agi_KGC_BattleDifficulty base_agi
 def base_agi
   n = base_agi_KGC_BattleDifficulty
   n *= Difficulty.get[3]
   return n / 100
 end
 #--------------------------------------------------------------------------
 # ● 基本魔力の取得
 #--------------------------------------------------------------------------
 alias base_int_KGC_BattleDifficulty base_int
 def base_int
   n = base_int_KGC_BattleDifficulty
   n *= Difficulty.get[3]
   return n / 100
 end
 #--------------------------------------------------------------------------
 # ● 基本攻撃力の取得
 #--------------------------------------------------------------------------
 alias base_atk_KGC_BattleDifficulty base_atk
 def base_atk
   n = base_atk_KGC_BattleDifficulty
   n *= Difficulty.get[3]
   return n / 100
 end
 #--------------------------------------------------------------------------
 # ● 基本物理防御の取得
 #--------------------------------------------------------------------------
 alias base_pdef_KGC_BattleDifficulty base_pdef
 def base_pdef
   n = base_pdef_KGC_BattleDifficulty
   n *= Difficulty.get[3]
   return n / 100
 end
 #--------------------------------------------------------------------------
 # ● 基本魔法防御の取得
 #--------------------------------------------------------------------------
 alias base_mdef_KGC_BattleDifficulty base_mdef
 def base_mdef
   n = base_mdef_KGC_BattleDifficulty
   n *= Difficulty.get[3]
   return n / 100
 end
 #--------------------------------------------------------------------------
 # ● 基本回避修正の取得
 #--------------------------------------------------------------------------
 alias base_eva_KGC_BattleDifficulty base_eva
 def base_eva
   n = base_eva_KGC_BattleDifficulty
   n *= Difficulty.get[3]
   return n / 100
 end
 #--------------------------------------------------------------------------
 # ● EXP の取得
 #--------------------------------------------------------------------------
 alias exp_KGC_BattleDifficulty exp
 def exp
   n = exp_KGC_BattleDifficulty
   n *= Difficulty.get[4]
   return n / 100
 end
 #--------------------------------------------------------------------------
 # ● ゴールドの取得
 #--------------------------------------------------------------------------
 alias gold_KGC_BattleDifficulty gold
 def gold
   n = gold_KGC_BattleDifficulty
   n *= Difficulty.get[5]
   return n / 100
 end
 #--------------------------------------------------------------------------
 # ● トレジャー出現率の取得
 #--------------------------------------------------------------------------
 alias treasure_prob_KGC_BattleDifficulty treasure_prob
 def treasure_prob
   n = treasure_prob_KGC_BattleDifficulty
   if n < 100
     n *= Difficulty.get[6]
     return [n / 100, 100].min
   else
     return n
   end
 end
end

The script I displayed above if you can't guess, is a 'difficulty' script.  :roll:
The script above modifies HP, SP, base stats, XP gain, GP gain, and drop rate.  :uhm:
It appears to me that the drop rate simply is unaffected by this script, while all else is.  :O.o:
In conjunction with with your ABS, this works flawlessy in every aspect by drop rate.  :huh:
I've inspected the script to the best of my ability, and for the life of me can't figure it out.  :'(

Can I get a second opinion?   :???:

Thank you for those who take the effort.  :o


--JeR
A bright light can either illuminate or blind, but how will you know which until you open your eyes?

Blizzard

Actually that scripts seems to be working fine with Blizz-ABS. Maybe there's a bug with the drop rate or you need to configure it right. At least that's what I can tell from a first look at the code. It kinda handles the drop rate in a weird way. :/
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Jragyn

Well, I configured it all as correctly as the site suggested...
do you have a more efficient method of which I can do the same thing?
Does anyone have an alternative to this, that will allow me to change difficulty IN-GAME,
yet still affecting the same things?
A bright light can either illuminate or blind, but how will you know which until you open your eyes?

Blizzard

There's a Difficulty script in Tons of Add-ons, but it works differently. You can set up gold, exp rates and damage rates.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Jragyn

Oi, it does have a difficulty piece, that (unless its been changed recently) can only be changed at the start of a new game. :(

Manipulating difficulty whilst in the game is vital. :(

Yours also lacks a drop rate manipulation, which plays a large part in the reasoning behind raising the difficulty at all :(

Any other suggestions?
A bright light can either illuminate or blind, but how will you know which until you open your eyes?

Blizzard

Actually you can alter the difficulty during the game any time. -_-

$game_system.init_difficulty(INDEX)


The drop rate manipulation seems a bit pointless to me. I mean with more money you can always buy the items.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Jragyn

Well yes, I suppose I could set up a shop that would infact sell the drops that I intend on making MORE droppable(?) by enemies, but my intentions were more to rather...omit shops from the game for the most part, and place a much heavier weight on grinding out your drops and using gold for...other purposes.

It'd be nice to be able to buy materials for item creation and the likes, and to a degree you -can- do this, but I wanted to make only the rarest of material drops drop like 1% of the time, or if yu set the difficulty higher, 2%, 4% and on up to like 8% or something (still in the works on those details) but without a drop manipulator, how can I do this? Oh Blizzard, save the day and make a Blizz-ABS compatible Drop modifier! I am certain that I'm not the only one here that could utilize such an amazing script-ette. :)?


--JeR
A bright light can either illuminate or blind, but how will you know which until you open your eyes?

Jragyn

150 pages of things to look through for this, and I wasn't sure what to look for...

But I noticed that if I make an enemy that isn't to appear 'till later or at some other point via switch/variable, a skill will still be able to target and attack the enemy.

IE in my game:
  I managed to implement a real-time system into the game, so that there is a clock within the game attached to a number of switches and variables that is linked to your computers clock. One set of switches that is particularly important is the Dawn/Day/Dusk/Night switches. In interest of making dungeons more interesting, I decided to make some monsters only appear during select times (as listed above) if the appropriate switch is flipped.
   Now then. On that note, I obviously have dozens of monsters to the maps, but only certain ones appear depending on the time of day. By appear, I mean they are 'active' and able to attack and be killed. However. In the instance that the correct time-of-day switches ARE NOT flipped, ie: OFF, then the monsters visibility disappears, but they can still be targeted by skills. They cannot be killed, but the enemy is still there, you can still target and execute a skill, though they will never retaliate.

Is this a ME error? Or is this a script error?
A bright light can either illuminate or blind, but how will you know which until you open your eyes?

Blizzard

Quote from: jragyn00 on January 27, 2010, 04:06:01 pm
Well yes, I suppose I could set up a shop that would infact sell the drops that I intend on making MORE droppable(?) by enemies, but my intentions were more to rather...omit shops from the game for the most part, and place a much heavier weight on grinding out your drops and using gold for...other purposes.

It'd be nice to be able to buy materials for item creation and the likes, and to a degree you -can- do this, but I wanted to make only the rarest of material drops drop like 1% of the time, or if yu set the difficulty higher, 2%, 4% and on up to like 8% or something (still in the works on those details) but without a drop manipulator, how can I do this? Oh Blizzard, save the day and make a Blizz-ABS compatible Drop modifier! I am certain that I'm not the only one here that could utilize such an amazing script-ette. :)?


--JeR


It's a simple thing to do and I need a new add-on to make the next version of Tons. xD Expect it very soon.

Quote from: jragyn00 on January 28, 2010, 01:02:02 am
150 pages of things to look through for this, and I wasn't sure what to look for...

But I noticed that if I make an enemy that isn't to appear 'till later or at some other point via switch/variable, a skill will still be able to target and attack the enemy.

IE in my game:
  I managed to implement a real-time system into the game, so that there is a clock within the game attached to a number of switches and variables that is linked to your computers clock. One set of switches that is particularly important is the Dawn/Day/Dusk/Night switches. In interest of making dungeons more interesting, I decided to make some monsters only appear during select times (as listed above) if the appropriate switch is flipped.
   Now then. On that note, I obviously have dozens of monsters to the maps, but only certain ones appear depending on the time of day. By appear, I mean they are 'active' and able to attack and be killed. However. In the instance that the correct time-of-day switches ARE NOT flipped, ie: OFF, then the monsters visibility disappears, but they can still be targeted by skills. They cannot be killed, but the enemy is still there, you can still target and execute a skill, though they will never retaliate.

Is this a ME error? Or is this a script error?


I'm not able to reproduce the error. Can you post a small demo? It's most probably a script error.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

poxy

I've been studying ruby a bit and i came up with a little work-around to stop sprites from animating when charging/defending and not moving...
At Blizz-ABS pg 3 I add this to the pattern method:
if charging? && (Input.dir8 == 0)
      return 0
    end
    if @ai.act.defend? && (Input.dir8 == 0)
      return 0
    end

So if your frames are animated they should stay at the first frame when charging/defending and standing still. I dunno if it's efficient but it doesn't seem to lag for me.  :)
My Project: ShowHide

Blizzard

No, that's fine. I suggest you use this piece of code instead with default Blizz-ABS:

class Map_Battler
 
  alias pattern_noanima_later pattern
  def pattern
    return 0 if (charging? || @ai.act.defend?) && Input.dir8 == 0
    return pattern_noanima_later
  end

end


It basically does the same as yours except for one thing. You can now update the Blizz-ABS version and this piece of code will be unaffected so you don't have to edit Blizz-ABS each time you update the version.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.