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 - Starmage

41
Projects / Games / Re: (XP) BlueSkies 2 - Complete!
March 06, 2023, 03:13:42 am
Hello everyone! I wish to share an amazing new poster for BlueSkies 2 as well! With the help of Leonardo A.I. art generator, photoshopped and put together by me. :D In celebration of my second completed long RPG maker game. Hope you all enjoy! <3 ^_^

You may download full large image here: https://www.mediafire.com/file/bee2yx3r3eslaki/BlueSkies+2+poster+large.png/file
42
Projects / Games / Re: Rave Heart
March 05, 2023, 04:14:46 am
Hello everyone! I just wanted to share this fantastic wallpaper for the main cast of my game Rave Heart in a casual setting, if they weren't in a galactic war. ^_^ Character Art generated using Leonardo A.I., photoshopped + put together by me. Hope u guys like it! <3

Download for original huge image: https://www.mediafire.com/file/8kzqfsvi2imgu0w/Rave+Heart+Characters+Wallpaper.png/file
43
New Projects / Astral Awakening (IGMC entry)
August 04, 2022, 07:57:58 am

Trailer:

Introduction:

Hello everyone! This is my submission to the Indie Game Making Contest: Rebirth Game Jam! I picked the theme "Resurrection" for this entry. Hope you all enjoy!

Story:

In the Galaxy of Xerxes, Year 255 A.XW. (After Xerian War), Doctor Celsus Mury, an eager scientist of the Archlight Facility has found a way to resurrect an unknown alien corpse, that allegedly came from the other side. Now, Franz Firebird, a curious Journalist, has taken the job to write a story about the experiment. Will Doctor Celsus be able to resurrect the alien corpse, giving Franz a great story to tell and share in the headlines? Or will things go entirely differently?

Screenshots:
Spoiler: ShowHide





Download:


Features:
- Animated turn-based battles
- Immersive Dark, Sci-fi setting
- Short and gameplay focused
44
New Projects / Esper Unleashed
June 17, 2022, 02:14:59 pm
Hello everyone! This is my submission to the 6th Annual Driftwood Gaming Game Jam "Build Your Own Game Jam"! I picked the themes "Purple" and "Survival" for this entry. https://itch.io/jam/build-your-own-game-jam/rate/980407

The game had the honor of having 7th place for the overall ratings of the jam.



"Story": ShowHide
In the Galaxy of Xerxes, Year 258 A.XW. (After Xerian War), a mysterious Erran Man named "Axephus" awakens in the New H.E.A.L Facility where he is being experimented on unethically due to his psychic abilities. Will Axephus be able to escape this facility and survive?


"Screenshots": ShowHide





Download:

Spoiler: ShowHide
Esper Unleashed 0.5



Features:

- Fast-paced turn-based battles

- Immersive Sci-fi setting

- Short and gameplay focused
45
New Projects / Re: BlueSkies 3 (With Demo)
June 17, 2022, 01:32:56 pm
UPDATE:

It's been so long, but don't worry I'm still working on this project, life's just been super busy last year, but here I am now with a new update! :D No story-related update though, just polishing the demo as it is! :D

I present to you all, Blue Skies 3 Demo version 3.5:



Changes:

- New cast animations for each characters.
- Player Buffs/Debuffs skills are no longer stackable.
- Player Buffs/Debuffs skills' power have also been reduced.
- Spirit Herb item no longer gives bonus Ailment immunity for 2 turns upon use.
- Enemy stats have been tweaked to achieve balance (not too hard or easy hopefully).
- Fixed some bugs and typos.
- State tooltips are now available. You can simply hover your mouse over a state and read its effects.
- Enemies now display their elemental property as passive states above them instead of showing it beside their names.
- New Battle Backgrounds.
- Changed Boss BGM.

Hope you all enjoy! Feedback is appreciated! ^_^
46
Projects / Games / Re: Rave Heart
March 11, 2021, 09:08:18 am
Hello everyone! I just wish to share Hard Reset's very wonderful video review of Rave Heart! ^_^ I hope you guys enjoy it! :D <3

https://www.youtube.com/watch?v=QVExov5oX4s
47
New Projects / Re: BlueSkies 3 (With Demo)
February 09, 2021, 04:15:53 am
Hello everyone! I made a short trailer for BlueSkies 3:

I would also like to share a full Let's Play/Review of the demo 3.0 done by the amazing D757gaming! <3
48
Projects / Games / Re: Rave Heart
January 30, 2021, 09:30:58 am
Hello everyone! I am so happy and excited to announce that Rave Heart is out on Aldorlea Games now! ^_^ You may also purchase a guide book that is exclusive only on Aldorlea! <3 :D Hope you all enjoy! :D

https://www.aldorlea.org/raveheart.php
49
New Projects / BlueSkies 3
January 12, 2021, 04:09:14 am


Spoiler: ShowHide
BlueSkies 3 is a 2D Turn-based JRPG game featuring a radiant, magical fantasy atmosphere that is story-driven. BlueSkies 3 has a different story on its own (not directly a sequel), still, it features the same world as the original free games BlueSkies 1 and BlueSkies 2. There won't be any plot-related confusion if you immediately played BlueSkies 3 though!



Spoiler: ShowHide
World of Vyen, Year 312 A.R. (Arcane Renaissance). Magic is abundant all around. Witches and Warlocks run the world. Some use magic for the good of Vyen, and some use it as a weapon to harm and cause destruction. Despite this obvious divide between the people, the recent announcement of the "Arcane Mastery Tournament" held by both the Chancellor of the Holy Order and the King of the Xmeilian Empire, has captured the interests of every magic-user around the world. The "Arcane Mastery Tournament" is an event where Witches and Warlocks all around the world gather to compete and rise as the special "Arcane Guardians" of the Xmeilian Empire. Some join to prove their prowess in magic in front of the whole world, seeking to claim victory, while some join content with the thought of having a platform for themselves and their magic, regardless if they'll win the competition or not. Could this tournament simply be a competition between the greats, Or could this be a catalyst for something grand? Dare I say, something sinister?



Spoiler: ShowHide
The story revolves around a young Oracle named Candace Aethelmay, who lives in Esuna Town. Candace and her friends have decided to go on an adventure to join the "Arcane Mastery Tournament." Along the way, the young witches will encounter challenges, meet new friends, and they will further hone their skills in magic. But little do they know; this journey will lead to something much bigger that involves the fate of Vyen.



Spoiler: ShowHide

















Spoiler: ShowHide

ATB (Active Time Battle): Interrupt enemies' actions with specific skills.


Party Switching: You can freely switch between party members in battle.


Support Characters: Call upon supportive friends to aid you in battle with instant-use skills.



- Animated Side-view battle system
- Dynamic ATB battles
- Party changing system (Both during and out of battle).
- Immersive plot and a very colorful set of characters, atmosphere and dialogue.
- Beautiful character arts.
- Side-quests and hidden-quests that allows you to acquire items, gold, and even learn skills or summons!
- Explore the world of Vyen and uncover the mysteries.



BlueSkies 3 Goodies:

Demo version 3.0 Let's Plays/Reviews:
Spoiler: ShowHide
D757gaming


Demo version 2.5 Let's Plays/Reviews:
Spoiler: ShowHide
Studio Blue
Nikorasu
HawkZombie
50
Projects / Games / Re: Rave Heart
December 22, 2020, 11:33:46 pm
Hello everyone! Rave Heart is 50% off on Steam until January 6! :) Happy Holidays all! <3

https://store.steampowered.com/app/1375880/Rave_Heart/
51
New Projects / Re: Perceiving Shapes
November 10, 2020, 04:42:40 pm
Hello everyone! The game just got the honor of being GOTY for 2020 on HBgames.org! <3 Such great honor! ^_^ :) You guys might also want to check out HBgames.org forums as they are having massive updates on the site! :D http://www.hbgames.org/forums/viewtopic.php?f=77&t=80403&start=0
52
New Projects / Perceiving Shapes
November 03, 2020, 09:19:56 am

Spoiler: ShowHide
Perceiving Shapes is my submission to Third Annual HAWKTOBER Game Jam. The Game Jam has a theme of "Horror of the Cosmos".

The game had the honor of being ranked 4th place on people's choice! And I'm truly honored and happy for that. ^_^

The game was also featured as GOTY for 2020 on HBgames.org! <3 Such great honor! ^_^ :) You guys might also want to check out HBgames.org forums as they are having massive updates on the site! :D http://www.hbgames.org/forums/viewtopic.php?f=77&t=80403&start=0


Spoiler: ShowHide
Beau Portman, a 21-year-old guy who lives in Canada, has decided to finally meet his online date in person for the first time. His online date Susan has led him to a mysterious town called "Saturnalia", claiming that it's her address. But the question is, was there ever a "Saturnalia Town" in Canada? Is it just a regular town that's isolated from society? Or is there more to it?


Spoiler: ShowHide

Name: Beau Portman
Age: 21
Descriptions: He's a curious and adventurous Asian American guy who grew up in Canada. He has long been talking to his online date Susan, and is very excited to finally meet her in person.


Name: Susan Speed
Age: 20
Descriptions: She is a very quirky and artsy girl who loves to cook. She also has quite the taste in music. Susan is Beau's online date. She is one of the mysterious residents of "Saturnalia Town".


Name: Dr. Cernelia Partikulo
Age: ??
Descriptions: Better known as Dr. Cern. She is an enigmatic lady who's very determined in gathering data from her "client". She keeps to herself, and treats the whole situation like an experiment.


Spoiler: ShowHide









Features:

- Fully Voiced Dialogues

- Immersive Horror Atmosphere

Credits:

Spoiler: ShowHide

Plugins:

Degica
KADOKAWA
VisuStella
Ignis/Raizen
Gabe
Moghunter (Atelier RGSS) - https://atelierrgss.wordpress.com/
Terrax
iVillain
Aesica
ct_bolt

Graphics:

Degica
KADOKAWA
Vexed Enigma
textfx.co
code32 - https://opengameart.org/content/space-background-0
chalkdust
RPGMakerXPChris
KAUZZ
Rene Magritte
Local 58
NASA Website

Music:

Degica
KADOKAWA
Joel Steudler
Eric Matyas
- www.soundimage.org
ayato sound create
JDB Artist
Rousseau
Murray Atkinson
Bach
Chopin
Edvard Grieg

Voice Acting:

Led - as Beau, Wilbert, and Jordan
Arc Knight † - as Unknown Man (???), Dr. Fred, and George
Triksya Burning - as Susan
Starmage - as Dr. Cern, Neil, Mr. Hawk, Other Town NPC's, and Killer Clown

Special thanks:

HawkZombie (Game jam Host and Judge)
Judges: Zephyr (Heroine), Kia, Damian Floyd

And YOU! Thank you so much for playing!!!
53
Projects / Games / Re: Rave Heart
October 29, 2020, 12:48:11 pm
Happy Halloween Everyone! You may now grab Rave Heart for 70% off on steam until November 3! ^_^ This is also to celebrate my upcoming bday on November 1! :) <3 Hope you all enjoy! :D

https://store.steampowered.com/app/1375880/Rave_Heart/
54
New Projects / Inner Sanctum
October 01, 2020, 08:44:49 am
Spoiler: ShowHide
Inner Sanctum is my submission to Studio Blue's RPG Maker MZ game jam. It is a Christian-themed horror/mystery game.

The game had the honor of being ranked 3rd place on the game jam! And I'm truly honored and happy for that. ^_^


Spoiler: ShowHide
The story revolves around a young girl named "Meadow" who experienced tragedy when she woke up in a crime scene with her dead parents beside her. A group of religious individuals from the Divine Grace Monastery have offered to adopt the poor girl. After being welcomed with loving arms, things took a darker and twisted turn when the moon took over the night sky.


Spoiler: ShowHide

Name: Meadow Springful
Age: 16
Descriptions: She's a sweet and naive girl who is struggling to keep her sanity after a tragic incident involving her parents deaths.


Spoiler: ShowHide








Features:

- Multiple Endings (4 in total)

- Immersive Atmospheric Horror

- Make intense choices that decide the fate of your character.

Goodies:

Watch Studio Blue's fun-filled stream of the game here:
https://www.youtube.com/watch?v=dnGqPCGu8p8&;

Credits:

Spoiler: ShowHide
Plugins:

Degica
KADOKAWA
VisuStella
Ignis/Raizen
Gabe
Moghunter (Atelier RGSS) - https://atelierrgss.wordpress.com/
Terrax
iVillain
Aesica
ct_bolt
Skotty TV

Graphics:

Degica
KADOKAWA

Music:

Degica
KADOKAWA
Bittersweet Entertainment
Hiroki Kikuta
Murray Atkinson
Air With Air Rising
JDB Artist
Joel Steudler
Richard, John S.
ayato sound create

Special thanks:
Led
Arc Knight †
Triksya Burning
Berry
The Game Jam Judges:
Studio Blue (Steel and Teal)
Hard Reset
JackOfallOps
HawkZombie
DamianFloyd
55
Hello everyone! Can someone please help me with an error that pops up during a victory scene? I'm using Yanfly's Victory Aftermath script, and there's a battle where this error showed up:



QuoteScript 'YEA Victory Aftermath' line 434: NoMethodError occurred.

undefined method 'show_victory_display_exp' for #<Scene_Map:0x12aeb674>



It rarely happens in-game, and it only happened in a specific area (during the victory scene), so I'm not sure why. :( X( So I couldn't replicate the bug. :(



Btw,  here's the script I'm using:

#==============================================================================

#

# ¥ Yanfly Engine Ace - Victory Aftermath v1.04

# -- Last Updated: 2014.03.019

# -- Level: Easy, Normal, Hard

# -- Requires: n/a

# -- Special Thanks: Yami for Bug Fixes.

#

#==============================================================================



$imported = {} if $imported.nil?

$imported["YEA-VictoryAftermath"] = true



#==============================================================================

# ¥ Updates

# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

# 2014.03.19 - Fixed a bug where if the battle ends with a stat buff/debuff and

#              it will display the wrong parameters.

# 2012.01.07 - Compatibility Update: JP Manager

# 2012.01.01 - Bug Fixed: Quote tags were mislabeled.

# 2011.12.26 - Compatibility Update: Command Autobattle

# 2011.12.16 - Started Script and Finished.

#

#==============================================================================

# ¥ Introduction

# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

# At the end of each battle, RPG Maker VX Ace by default shows text saying that

# the party has gained so-and-so EXP while this person leveled up and your

# party happened to find these drops. This script changes that text into

# something more visual for your players to see. Active battle members will be

# seen gaining EXP, any kind of level up changes, and a list of the items

# obtained through drops.

#

#==============================================================================

# ¥ Instructions

# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

# To install this script, open up your script editor and copy/paste this script

# to an open slot below ¥ Materials/'fÞ but above ¥ Main. Remember to save.

#

# -----------------------------------------------------------------------------

# Actor Notetags - These notetags go in the actors notebox in the database.

# -----------------------------------------------------------------------------

# <win quotes>

#  string

#  string

# </win quotes>

# Sets the win quote for the actor. The strings are continuous and can use

# text codes. Use \n for a line break. Type in what you want the actor to say

# for the particular win quote. Use [New Quote] in between the two tags to

# start up a new quote.

#

# <level quotes>

#  string

#  string

# </level quotes>

# Sets the level up quote for the actor. The strings are continuous and can use

# text codes. Use \n for a line break. Type in what you want the actor to say

# for the particular win quote. Use [New Quote] in between the two tags to

# start up a new quote.

#

# <drops quotes>

#  string

#  string

# </drops quotes>

# Sets the drops quote for the actor. The strings are continuous and can use

# text codes. Use \n for a line break. Type in what you want the actor to say

# for the particular win quote. Use [New Quote] in between the two tags to

# start up a new quote.

#

# -----------------------------------------------------------------------------

# Class Notetags - These notetags go in the class notebox in the database.

# -----------------------------------------------------------------------------

# <win quotes>

#  string

#  string

# </win quotes>

# Sets the win quote for the class. The strings are continuous and can use

# text codes. Use \n for a line break. Type in what you want the actor to say

# for the particular win quote. Use [New Quote] in between the two tags to

# start up a new quote.

#

# <level quotes>

#  string

#  string

# </level quotes>

# Sets the level up quote for the class. The strings are continuous and can use

# text codes. Use \n for a line break. Type in what you want the actor to say

# for the particular win quote. Use [New Quote] in between the two tags to

# start up a new quote.

#

# <drops quotes>

#  string

#  string

# </drops quotes>

# Sets the drops quote for the class. The strings are continuous and can use

# text codes. Use \n for a line break. Type in what you want the actor to say

# for the particular win quote. Use [New Quote] in between the two tags to

# start up a new quote.

#

#==============================================================================

# ¥ Compatibility

# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that

# it will run with RPG Maker VX without adjusting.

#

#==============================================================================



module YEA

  module VICTORY_AFTERMATH

   

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    # - General Settings -

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    # These are various settings that are used throughout the Victory Aftermath

    # portion of a battle. Adjust them as you see fit.

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    VICTORY_BGM  = RPG::BGM.new("Field1", 100, 100)    # Victory BGM

    VICTORY_TICK = RPG::SE.new("Decision1", 100, 150)  # EXP ticking SFX

    LEVEL_SOUND  = RPG::SE.new("Up4", 80, 150)         # Level Up SFX

    SKILLS_TEXT  = "New Skills"                        # New skills text title.

   

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    # - Important Settings -

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    # These are some important settings so please set them up properly. This

    # section includes a switch that allows you to skip the victory aftermath

    # phase (for those back to back battles and making them seamless) and it

    # also allows you to declare a common event to run after each battle. If

    # you do not wish to use either of these features, set them to 0. The

    # common event will run regardless of win or escape.

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    SKIP_AFTERMATH_SWITCH  = 0  # If switch on, skip aftermath. 0 to disable.

    SKIP_MUSIC_SWITCH      = 0  # If switch on, skip music. 0 to disable.

    AFTERMATH_COMMON_EVENT = 0  # Runs common event after battle. 0 to disable.

   

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    # - Top Text Settings -

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    # Here, you can adjust the various text that appears in the window that

    # appears at the top of the screen.

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    TOP_TEAM         = "Your team"           # Team name used.

    TOP_VICTORY_TEXT = "You are victorious!"   # Text used to display victory.

    TOP_LEVEL_UP     = "%s has leveled up!"  # Text used to display level up.

    TOP_SPOILS       = "Victory Spoils!"     # Text used for spoils.

   

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    # - EXP Gauge Settings -

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    # Adjust how the EXP Gauge appears for the Victory Aftermath here. This

    # includes the text display, the font size, the colour of the gauges, and

    # more. Adjust it all here.

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    VICTORY_EXP  = "+%sEXP"      # Text used to display EXP.

    EXP_PERCENT  = "%1.2f%%"     # The way EXP percentage will be displayed.

    LEVELUP_TEXT = "LEVEL UP!"   # Text to replace percentage when leveled.

    MAX_LVL_TEXT = "MAX LEVEL"   # Text to replace percentage when max level.

    FONTSIZE_EXP = 20            # Font size used for EXP.

    EXP_TICKS    = 15            # Ticks to full EXP

    EXP_GAUGE1   = 12            # "Window" skin text colour for gauge.

    EXP_GAUGE2   = 4             # "Window" skin text colour for gauge.

    LEVEL_GAUGE1 = 13            # "Window" skin text colour for leveling.

    LEVEL_GAUGE2 = 5             # "Window" skin text colour for leveling.

   

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    # - Victory Messages -

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    # In the Victory Aftermath, actors can say unique things. This is the pool

    # of quotes used for actors without any custom victory quotes. Note that

    # actors with custom quotes will take priority over classes with custom

    # quotes, which will take priority over these default quotes. Use \n for

    # a line break in the quotes.

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    HEADER_TEXT = "\e>\eC[6]%s\eC[0]\e<\n"  # Always at start of messages.

    FOOTER_TEXT = ""                        # Always at end of messages.

   

    # Win Quotes are what the actors say when a battle is won.

    VICTORY_QUOTES ={

    # :type   => Quotes

      #------------------------------------------------------------------------

      :win    => [ # Occurs as initial victory quote.

                   '"We won! What an exciting fight!"',

                   '"I didn\'t even break a sweat."',

                   '"That wasn\'t so tough."',

                   '"Let\'s fight something harder!"',

                 ],# Do not remove this.

      #------------------------------------------------------------------------

      :level  => [ # Occurs as initial victory quote.

                   '"Yes! Level up!"',

                   '"I\'ve gotten stronger!"',

                   '"Try to keep up with me!"',

                   '"I\'ve grown again!"',

                 ],# Do not remove this.

      #------------------------------------------------------------------------

      :drops  => [ # Occurs as initial victory quote.

                   '"I\'ll be taking these."',

                   '"To the victor goes the spoils."',

                   '"The enemies dropped something!"',

                   '"Hey, what\'s this?"',

                 ],# Do not remove this.

      #------------------------------------------------------------------------

    } # Do not remove this.

   

  end # VICTORY_AFTERMATH

end # YEA



#==============================================================================

# ¥ Editting anything past this point may potentially result in causing

# computer damage, incontinence, explosion of user's head, coma, death, and/or

# halitosis so edit at your own risk.

#==============================================================================



module YEA

  module REGEXP

  module BASEITEM

   

    NEW_QUOTE = /\[(?:NEW_QUOTE|new quote)\]/i

   

    WIN_QUOTE_ON    = /<(?:WIN_QUOTES|win quote|win quotes)>/i

    WIN_QUOTE_OFF   = /<\/(?:WIN_QUOTES|win quote|win quotes)>/i

    LEVEL_QUOTE_ON  = /<(?:LEVEL_QUOTES|level quote|level quotes)>/i

    LEVEL_QUOTE_OFF = /<\/(?:LEVEL_QUOTES|level quote|level quotes)>/i

    DROPS_QUOTE_ON  = /<(?:DROPS_QUOTES|drops quote|drops quotes)>/i

    DROPS_QUOTE_OFF = /<\/(?:DROPS_QUOTES|drops quote|drops quotes)>/i

   

  end # BASEITEM

  end # REGEXP

end # YEA



#==============================================================================

# ¡ Switch

#==============================================================================



module Switch



  #--------------------------------------------------------------------------

  # self.skip_aftermath

  #--------------------------------------------------------------------------

  def self.skip_aftermath

    return false if YEA::VICTORY_AFTERMATH::SKIP_AFTERMATH_SWITCH <= 0

    return $game_switches[YEA::VICTORY_AFTERMATH::SKIP_AFTERMATH_SWITCH]

  end



  #--------------------------------------------------------------------------

  # self.skip_aftermath_music

  #--------------------------------------------------------------------------

  def self.skip_aftermath_music

    return false if YEA::VICTORY_AFTERMATH::SKIP_MUSIC_SWITCH <=0

    return $game_switches[YEA::VICTORY_AFTERMATH::SKIP_MUSIC_SWITCH]

  end

   

end # Switch



#==============================================================================

# ¡ Numeric

#==============================================================================



class Numeric



  #--------------------------------------------------------------------------

  # new method: group_digits

  #--------------------------------------------------------------------------

  unless $imported["YEA-CoreEngine"]

  def group; return self.to_s; end

  end # $imported["YEA-CoreEngine"]

   

end # Numeric



#==============================================================================

# ¡ DataManager

#==============================================================================



module DataManager



  #--------------------------------------------------------------------------

  # alias method: load_database

  #--------------------------------------------------------------------------

  class <<self; alias load_database_va load_database; end

  def self.load_database

    load_database_va

    load_notetags_va

  end



  #--------------------------------------------------------------------------

  # new method: load_notetags_va

  #--------------------------------------------------------------------------

  def self.load_notetags_va

    groups = [$data_actors, $data_classes]

    for group in groups

      for obj in group

        next if obj.nil?

        obj.load_notetags_va

      end

    end

  end



end # DataManager



#==============================================================================

# ¡ RPG::BaseItem

#==============================================================================



class RPG::BaseItem



  #--------------------------------------------------------------------------

  # public instance variables

  #--------------------------------------------------------------------------

  attr_accessor :win_quotes

  attr_accessor :level_quotes

  attr_accessor :drops_quotes



  #--------------------------------------------------------------------------

  # common cache: load_notetags_va

  #--------------------------------------------------------------------------

  def load_notetags_va

    @win_quotes = [""]

    @level_quotes = [""]

    @drops_quotes = [""]

    @victory_quote_type = nil

    #---

    self.note.split(/[\r\n]+/).each { |line|

      case line

      #---

      when YEA::REGEXP::BASEITEM::WIN_QUOTE_ON

        @victory_quote_type = :win_quote

      when YEA::REGEXP::BASEITEM::WIN_QUOTE_OFF

        @victory_quote_type = nil

      when YEA::REGEXP::BASEITEM::LEVEL_QUOTE_ON

        @victory_quote_type = :level_quote

      when YEA::REGEXP::BASEITEM::LEVEL_QUOTE_OFF

        @victory_quote_type = nil

      when YEA::REGEXP::BASEITEM::DROPS_QUOTE_ON

        @victory_quote_type = :drops_quote

      when YEA::REGEXP::BASEITEM::DROPS_QUOTE_OFF

        @victory_quote_type = nil

      #---

      when YEA::REGEXP::BASEITEM::NEW_QUOTE

        case @victory_quote_type

        when nil; next

        when :win_quote;   @win_quotes.push("")

        when :level_quote; @level_quotes.push("")

        when :drops_quote; @drops_quotes.push("")

        end

      #---

      else

        case @victory_quote_type

        when nil; next

        when :win_quote;   @win_quotes[@win_quotes.size-1] += line.to_s

        when :level_quote; @level_quotes[@level_quotes.size-1] += line.to_s

        when :drops_quote; @drops_quotes[@drops_quotes.size-1] += line.to_s

        end

      end

    } # self.note.split

    #---

    return unless self.is_a?(RPG::Class)

    quotes = YEA::VICTORY_AFTERMATH::VICTORY_QUOTES

    @win_quotes = quotes[:win].clone if @win_quotes == [""]

    @level_quotes = quotes[:level].clone if @level_quotes == [""]

    @drops_quotes = quotes[:drops].clone if @drops_quotes == [""]

  end



end # RPG::BaseItem



#==============================================================================

# ¡ BattleManager

#==============================================================================



module BattleManager



  #--------------------------------------------------------------------------

  # overwrite method: self.process_victory

  #--------------------------------------------------------------------------

  def self.process_victory

    if $imported["YEA-CommandAutobattle"]

      SceneManager.scene.close_disable_autobattle_window

    end

    return skip_aftermath if Switch.skip_aftermath

    play_battle_end_me

    gain_jp if $imported["YEA-JPManager"]

    display_exp

    gain_exp

    gain_gold

    gain_drop_items

    close_windows

    SceneManager.return

    replay_bgm_and_bgs

    battle_end(0)

    return true

  end



  #--------------------------------------------------------------------------

  # new method: self.skip_aftermath

  #--------------------------------------------------------------------------

  def self.skip_aftermath

    $game_party.all_members.each do |actor|

      actor.gain_exp($game_troop.exp_total)

    end

    $game_party.gain_gold($game_troop.gold_total)

    $game_troop.make_drop_items.each do |item|

      $game_party.gain_item(item, 1)

    end

    close_windows

    SceneManager.return

    replay_bgm_and_bgs

    battle_end(0)

  end



  #--------------------------------------------------------------------------

  # overwrite method: self.play_battle_end_me

  #--------------------------------------------------------------------------

  def self.play_battle_end_me

    return if Switch.skip_aftermath_music

    $game_system.battle_end_me.play

    YEA::VICTORY_AFTERMATH::VICTORY_BGM.play

  end



  #--------------------------------------------------------------------------

  # new method: self.set_victory_text

  #--------------------------------------------------------------------------

  def self.set_victory_text(actor, type)

    text = "" + sprintf(YEA::VICTORY_AFTERMATH::HEADER_TEXT, actor.name)

    text += actor.victory_quotes(type)[rand(actor.victory_quotes(type).size)]

    text += YEA::VICTORY_AFTERMATH::FOOTER_TEXT

    $game_message.face_name = actor.face_name

    $game_message.face_index = actor.face_index

    $game_message.add(text)

    wait_for_message

  end



  #--------------------------------------------------------------------------

  # overwrite method: self.display_exp

  #--------------------------------------------------------------------------

  def self.display_exp

    SceneManager.scene.show_victory_display_exp

    actor = $game_party.random_target

    @victory_actor = actor

    set_victory_text(@victory_actor, :win)

  end



  #--------------------------------------------------------------------------

  # overwrite method: self.gain_exp

  #--------------------------------------------------------------------------

  def self.gain_exp

    $game_party.all_members.each do |actor|

      temp_actor = Marshal.load(Marshal.dump(actor))

      actor.gain_exp($game_troop.exp_total)

      next if actor.level == temp_actor.level

      SceneManager.scene.show_victory_level_up(actor, temp_actor)

      set_victory_text(actor, :level)

      wait_for_message

    end

  end



  #--------------------------------------------------------------------------

  # overwrite method: self.gain_gold

  #--------------------------------------------------------------------------

  def self.gain_gold

    $game_party.gain_gold($game_troop.gold_total)

  end



  #--------------------------------------------------------------------------

  # overwrite method: self.gain_drop_items

  #--------------------------------------------------------------------------

  def self.gain_drop_items

    drops = []

    $game_troop.make_drop_items.each do |item|

      $game_party.gain_item(item, 1)

      drops.push(item)

    end

    SceneManager.scene.show_victory_spoils($game_troop.gold_total, drops)

    set_victory_text(@victory_actor, :drops)

    wait_for_message

  end



  #--------------------------------------------------------------------------

  # new method: self.close_windows

  #--------------------------------------------------------------------------

  def self.close_windows

    SceneManager.scene.close_victory_windows

  end



  #--------------------------------------------------------------------------

  # alias method: load_database

  #--------------------------------------------------------------------------

  class <<self; alias battle_end_va battle_end; end

  def self.battle_end(result)

    battle_end_va(result)

    return if result == 2

    return if YEA::VICTORY_AFTERMATH::AFTERMATH_COMMON_EVENT <= 0

    event_id = YEA::VICTORY_AFTERMATH::AFTERMATH_COMMON_EVENT

    $game_temp.reserve_common_event(event_id)

  end



end # BattleManager



#==============================================================================

# ¡ Game_Actor

#==============================================================================



class Game_Actor < Game_Battler



  #--------------------------------------------------------------------------

  # overwrite method: gain_exp

  #--------------------------------------------------------------------------

  def gain_exp(exp)

    enabled = !SceneManager.scene_is?(Scene_Battle)

    change_exp(self.exp + (exp * final_exp_rate).to_i, enabled)

  end



  #--------------------------------------------------------------------------

  # new method: victory_quotes

  #--------------------------------------------------------------------------

  def victory_quotes(type)

    case type

    when :win

      return self.actor.win_quotes if self.actor.win_quotes != [""]

      return self.class.win_quotes

    when :level

      return self.actor.level_quotes if self.actor.level_quotes != [""]

      return self.class.level_quotes

    when :drops

      return self.actor.drops_quotes if self.actor.drops_quotes != [""]

      return self.class.drops_quotes

    else

      return ["NOTEXT"]

    end

  end



end # Game_Actor



#==============================================================================

# ¡ Window_VictoryTitle

#==============================================================================



class Window_VictoryTitle < Window_Base



  #--------------------------------------------------------------------------

  # initialize

  #--------------------------------------------------------------------------

  def initialize

    super(0, 0, Graphics.width, fitting_height(1))

    self.z = 200

    self.openness = 0

  end



  #--------------------------------------------------------------------------

  # refresh

  #--------------------------------------------------------------------------

  def refresh(message = "")

    contents.clear

    draw_text(0, 0, contents.width, line_height, message, 1)

  end



end # Window_VictoryTitle



#==============================================================================

# ¡ Window_VictoryEXP_Back

#==============================================================================



class Window_VictoryEXP_Back < Window_Selectable



  #--------------------------------------------------------------------------

  # initialize

  #--------------------------------------------------------------------------

  def initialize

    super(0, fitting_height(1), Graphics.width, window_height)

    self.z = 200

    self.openness = 0

  end



  #--------------------------------------------------------------------------

  # window_height

  #--------------------------------------------------------------------------

  def window_height

    return Graphics.height - fitting_height(4) - fitting_height(1)

  end



  #--------------------------------------------------------------------------

  # col_max

  #--------------------------------------------------------------------------

  def col_max; return item_max; end



  #--------------------------------------------------------------------------

  # spacing

  #--------------------------------------------------------------------------

  def spacing; return 8; end



  #--------------------------------------------------------------------------

  # item_max

  #--------------------------------------------------------------------------

  def item_max; return $game_party.battle_members.size; end



  #--------------------------------------------------------------------------

  # open

  #--------------------------------------------------------------------------

  def open

    @exp_total = $game_troop.exp_total

    super

  end



  #--------------------------------------------------------------------------

  # item_rect

  #--------------------------------------------------------------------------

  def item_rect(index)

    rect = Rect.new

    rect.width = item_width

    rect.height = contents.height

    rect.x = index % col_max * (item_width + spacing)

    rect.y = index / col_max * item_height

    return rect

  end



  #--------------------------------------------------------------------------

  # draw_item

  #--------------------------------------------------------------------------

  def draw_item(index)

    actor = $game_party.battle_members[index]

    return if actor.nil?

    rect = item_rect(index)

    reset_font_settings

    draw_actor_name(actor, rect)

    draw_exp_gain(actor, rect)

    draw_jp_gain(actor, rect)

    draw_actor_face(actor, rect)

  end



  #--------------------------------------------------------------------------

  # draw_actor_name

  #--------------------------------------------------------------------------

  def draw_actor_name(actor, rect)

    name = actor.name

    draw_text(rect.x, rect.y+line_height, rect.width, line_height, name, 1)

  end



  #--------------------------------------------------------------------------

  # draw_actor_face

  #--------------------------------------------------------------------------

  def draw_actor_face(actor, rect)

    face_name = actor.face_name

    face_index = actor.face_index

    bitmap = Cache.face(face_name)

    rw = [rect.width, 96].min

    face_rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, rw, 96)

    rx = (rect.width - rw) / 2 + rect.x

    contents.blt(rx, rect.y + line_height * 2, bitmap, face_rect, 255)

  end



  #--------------------------------------------------------------------------

  # draw_exp_gain

  #--------------------------------------------------------------------------

  def draw_exp_gain(actor, rect)

    dw = rect.width - (rect.width - [rect.width, 96].min) / 2

    dy = rect.y + line_height * 3 + 96

    fmt = YEA::VICTORY_AFTERMATH::VICTORY_EXP

    text = sprintf(fmt, actor_exp_gain(actor).group)

    contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP

    change_color(power_up_color)

    draw_text(rect.x, dy, dw, line_height, text, 2)

  end



  #--------------------------------------------------------------------------

  # actor_exp_gain

  #--------------------------------------------------------------------------

  def actor_exp_gain(actor)

    n = @exp_total * actor.final_exp_rate

    return n.to_i

  end



  #--------------------------------------------------------------------------

  # draw_jp_gain

  #--------------------------------------------------------------------------

  def draw_jp_gain(actor, rect)

    return unless $imported["YEA-JPManager"]

    dw = rect.width - (rect.width - [rect.width, 96].min) / 2

    dy = rect.y + line_height * 4 + 96

    fmt = YEA::JP::VICTORY_AFTERMATH

    text = sprintf(fmt, actor_jp_gain(actor).group, Vocab::jp)

    contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP

    change_color(power_up_color)

    draw_text(rect.x, dy, dw, line_height, text, 2)

  end



  #--------------------------------------------------------------------------

  # actor_jp_gain

  #--------------------------------------------------------------------------

  def actor_jp_gain(actor)

    n = actor.battle_jp_earned

    if actor.exp + actor_exp_gain(actor) > actor.exp_for_level(actor.level + 1)

      n += YEA::JP::LEVEL_UP unless actor.max_level?

    end

    return n

  end



end # Window_VictoryEXP_Back



#==============================================================================

# ¡ Window_VictoryEXP_Front

#==============================================================================



class Window_VictoryEXP_Front < Window_VictoryEXP_Back



  #--------------------------------------------------------------------------

  # initialize

  #--------------------------------------------------------------------------

  def initialize

    super

    self.back_opacity = 0

    @ticks = 0

    @counter = 30

    contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP

  end



  #--------------------------------------------------------------------------

  # update

  #--------------------------------------------------------------------------

  def update

    super

    update_tick

  end



  #--------------------------------------------------------------------------

  # update_tick

  #--------------------------------------------------------------------------

  def update_tick

    return unless self.openness >= 255

    return unless self.visible

    return if complete_ticks?

    @counter -= 1

    return unless @counter <= 0

    return if @ticks >= YEA::VICTORY_AFTERMATH::EXP_TICKS

    YEA::VICTORY_AFTERMATH::VICTORY_TICK.play

    @counter = 4

    @ticks += 1

    refresh

  end



  #--------------------------------------------------------------------------

  # complete_ticks?

  #--------------------------------------------------------------------------

  def complete_ticks?

    for actor in $game_party.battle_members

      total_ticks = YEA::VICTORY_AFTERMATH::EXP_TICKS

      bonus_exp = actor_exp_gain(actor) * @ticks / total_ticks

      now_exp = actor.exp - actor.current_level_exp + bonus_exp

      next_exp = actor.next_level_exp - actor.current_level_exp

      rate = now_exp * 1.0 / next_exp

      return false if rate < 1.0

    end

    return true

  end



  #--------------------------------------------------------------------------

  # draw_item

  #--------------------------------------------------------------------------

  def draw_item(index)

    actor = $game_party.battle_members[index]

    return if actor.nil?

    rect = item_rect(index)

    draw_actor_exp(actor, rect)

  end



  #--------------------------------------------------------------------------

  # exp_gauge1

  #--------------------------------------------------------------------------

  def exp_gauge1; return text_color(YEA::VICTORY_AFTERMATH::EXP_GAUGE1); end



  #--------------------------------------------------------------------------

  # exp_gauge2

  #--------------------------------------------------------------------------

  def exp_gauge2; return text_color(YEA::VICTORY_AFTERMATH::EXP_GAUGE2); end



  #--------------------------------------------------------------------------

  # lvl_gauge1

  #--------------------------------------------------------------------------

  def lvl_gauge1; return text_color(YEA::VICTORY_AFTERMATH::LEVEL_GAUGE1); end



  #--------------------------------------------------------------------------

  # lvl_gauge2

  #--------------------------------------------------------------------------

  def lvl_gauge2; return text_color(YEA::VICTORY_AFTERMATH::LEVEL_GAUGE2); end



  #--------------------------------------------------------------------------

  # draw_actor_exp

  #--------------------------------------------------------------------------

  def draw_actor_exp(actor, rect)

    if actor.max_level?

      draw_exp_gauge(actor, rect, 1.0)

      return

    end

    total_ticks = YEA::VICTORY_AFTERMATH::EXP_TICKS

    bonus_exp = actor_exp_gain(actor) * @ticks / total_ticks

    now_exp = actor.exp - actor.current_level_exp + bonus_exp

    next_exp = actor.next_level_exp - actor.current_level_exp

    rate = now_exp * 1.0 / next_exp

    draw_exp_gauge(actor, rect, rate)

  end



  #--------------------------------------------------------------------------

  # draw_exp_gauge

  #--------------------------------------------------------------------------

  def draw_exp_gauge(actor, rect, rate)

    rate = [[rate, 1.0].min, 0.0].max

    dx = (rect.width - [rect.width, 96].min) / 2 + rect.x

    dy = rect.y + line_height * 2 + 96

    dw = [rect.width, 96].min

    colour1 = rate >= 1.0 ? lvl_gauge1 : exp_gauge1

    colour2 = rate >= 1.0 ? lvl_gauge2 : exp_gauge2

    draw_gauge(dx, dy, dw, rate, colour1, colour2)

    fmt = YEA::VICTORY_AFTERMATH::EXP_PERCENT

    text = sprintf(fmt, [rate * 100, 100.00].min)

    if [rate * 100, 100.00].min == 100.00

      text = YEA::VICTORY_AFTERMATH::LEVELUP_TEXT

      text = YEA::VICTORY_AFTERMATH::MAX_LVL_TEXT if actor.max_level?

    end

    draw_text(dx, dy, dw, line_height, text, 1)

  end



end # Window_VictoryEXP_Front



#==============================================================================

# ¡ Window_VictoryLevelUp

#==============================================================================



class Window_VictoryLevelUp < Window_Base



  #--------------------------------------------------------------------------

  # initialize

  #--------------------------------------------------------------------------

  def initialize

    super(0, fitting_height(1), Graphics.width, window_height)

    self.z = 200

    hide

  end



  #--------------------------------------------------------------------------

  # window_height

  #--------------------------------------------------------------------------

  def window_height

    return Graphics.height - fitting_height(4) - fitting_height(1)

  end



  #--------------------------------------------------------------------------

  # refresh

  #--------------------------------------------------------------------------

  def refresh(actor, temp_actor)

    contents.clear

    reset_font_settings

    YEA::VICTORY_AFTERMATH::LEVEL_SOUND.play

    draw_actor_changes(actor, temp_actor)

  end



  #--------------------------------------------------------------------------

  # draw_actor_changes

  #--------------------------------------------------------------------------

  def draw_actor_changes(actor, temp_actor)

    dx = contents.width / 16

    draw_actor_image(actor, temp_actor, dx)

    draw_param_names(actor, dx)

    draw_former_stats(temp_actor)

    draw_arrows

    draw_newer_stats(actor, temp_actor)

    draw_new_skills(actor, temp_actor)

  end



  #--------------------------------------------------------------------------

  # draw_actor_image

  #--------------------------------------------------------------------------

  def draw_actor_image(actor, temp_actor, dx)

    draw_text(dx, line_height, 96, line_height, actor.name, 1)

    draw_actor_face(actor, dx, line_height * 2)

    exp = actor.exp - temp_actor.exp

    text = sprintf(YEA::VICTORY_AFTERMATH::VICTORY_EXP, exp.group)

    change_color(power_up_color)

    contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP

    draw_text(0, line_height * 2 + 96, dx + 96, line_height, text, 2)

    reset_font_settings

  end



  #--------------------------------------------------------------------------

  # draw_param_names

  #--------------------------------------------------------------------------

  def draw_param_names(actor, dx)

    dx += 108

    change_color(system_color)

    text = Vocab.level

    draw_text(dx, 0, contents.width - dx, line_height, text)

    dy = 0

    for i in 0...8

      dy += line_height

      text = Vocab.param(i)

      draw_text(dx, dy, contents.width - dx, line_height, text)

    end

  end



  #--------------------------------------------------------------------------

  # draw_former_stats

  #--------------------------------------------------------------------------

  def draw_former_stats(actor)

    dw = contents.width / 2 - 12

    dy = 0

    change_color(normal_color)

    draw_text(0, dy, dw, line_height, actor.level.group, 2)

    for i in 0...8

      dy += line_height

      draw_text(0, dy, dw, line_height, actor.param_base(i).group, 2)

    end

  end



  #--------------------------------------------------------------------------

  # draw_arrows

  #--------------------------------------------------------------------------

  def draw_arrows

    dx = contents.width / 2 - 12

    dy = 0

    change_color(system_color)

    for i in 0..8

      draw_text(dx, dy, 24, line_height, "-> ", 1)

      dy += line_height

    end

  end



  #--------------------------------------------------------------------------

  # draw_newer_stats

  #--------------------------------------------------------------------------

  def draw_newer_stats(actor, temp_actor)

    dx = contents.width / 2 + 12

    dw = contents.width - dx

    dy = 0

    change_color(param_change_color(actor.level - temp_actor.level))

    draw_text(dx, dy, dw, line_height, actor.level.group, 0)

    for i in 0...8

      dy += line_height

      change_color(param_change_color(actor.param_base(i) - temp_actor.param_base(i)))

      draw_text(dx, dy, dw, line_height, actor.param_base(i).group, 0)

    end

  end

  #--------------------------------------------------------------------------

  # draw_new_skills

  #--------------------------------------------------------------------------

  def draw_new_skills(actor, temp_actor)

    return if temp_actor.skills.size == actor.skills.size

    dw = 172 + 24

    dx = contents.width - dw

    change_color(system_color)

    text = YEA::VICTORY_AFTERMATH::SKILLS_TEXT

    draw_text(dx, 0, dw, line_height, text, 0)

  end



end # Window_VictoryLevelUp



#==============================================================================

# ¡ Window_VictorySkills

#==============================================================================



class Window_VictorySkills < Window_Selectable



  #--------------------------------------------------------------------------

  # initialize

  #--------------------------------------------------------------------------

  def initialize

    dy = fitting_height(1) + 24

    dw = 172 + 24 + 24

    dh = Graphics.height - fitting_height(4) - fitting_height(1) - 24

    super(Graphics.width - dw, dy, dw, dh)

    self.opacity = 0

    self.z = 200

    hide

  end



  #--------------------------------------------------------------------------

  # item_max

  #--------------------------------------------------------------------------

  def item_max; return @data.nil? ? 0 : @data.size; end



  #--------------------------------------------------------------------------

  # refresh

  #--------------------------------------------------------------------------

  def refresh(actor, temp_actor)

    contents.clear

    if actor.skills.size == temp_actor.skills.size

      unselect

      @data = []

      create_contents

      return

    end

    @data = actor.skills - temp_actor.skills

    if @data.size > 8

      select(0)

      activate

    else

      unselect

      deactivate

    end

    create_contents

    draw_all_items

  end



  #--------------------------------------------------------------------------

  # refresh

  #--------------------------------------------------------------------------

  def draw_item(index)

    rect = item_rect(index)

    skill = @data[index]

    return if skill.nil?

    rect.width -= 4

    draw_item_name(skill, rect.x, rect.y, true)

  end



end # Window_VictorySkills



#==============================================================================

# ¡ Window_VictorySpoils

#==============================================================================



class Window_VictorySpoils < Window_ItemList



  #--------------------------------------------------------------------------

  # initialize

  #--------------------------------------------------------------------------

  def initialize

    super(0, fitting_height(1), Graphics.width, window_height)

    self.z = 200

    hide

  end



  #--------------------------------------------------------------------------

  # window_height

  #--------------------------------------------------------------------------

  def window_height

    return Graphics.height - fitting_height(4) - fitting_height(1)

  end



  #--------------------------------------------------------------------------

  # spacing

  #--------------------------------------------------------------------------

  def spacing; return 32; end



  #--------------------------------------------------------------------------

  # make

  #--------------------------------------------------------------------------

  def make(gold, drops)

    @gold = gold

    @drops = drops

    refresh

    select(0)

    activate

  end



  #--------------------------------------------------------------------------

  # make_item_list

  #--------------------------------------------------------------------------

  def make_item_list

    @data = [nil]

    items = {}

    weapons = {}

    armours = {}

    @goods = {}

    for item in @drops

      case item

      when RPG::Item

        items[item] = 0 if items[item].nil?

        items[item] += 1

      when RPG::Weapon

        weapons[item] = 0 if weapons[item].nil?

        weapons[item] += 1

      when RPG::Armor

        armours[item] = 0 if armours[item].nil?

        armours[item] += 1

      end

    end

    items = items.sort { |a,b| a[0].id <=> b[0].id }

    weapons = weapons.sort { |a,b| a[0].id <=> b[0].id }

    armours = armours.sort { |a,b| a[0].id <=> b[0].id }

    for key in items; @goods[key[0]] = key[1]; @data.push(key[0]); end

    for key in weapons; @goods[key[0]] = key[1]; @data.push(key[0]); end

    for key in armours; @goods[key[0]] = key[1]; @data.push(key[0]); end

  end



  #--------------------------------------------------------------------------

  # draw_item

  #--------------------------------------------------------------------------

  def draw_item(index)

    item = @data[index]

    rect = item_rect(index)

    reset_font_settings

    if item.nil?

      draw_gold(rect)

      return

    end

    rect.width -= 4

    draw_item_name(item, rect.x, rect.y, true, rect.width - 24)

    draw_item_number(rect, item)

  end



  #--------------------------------------------------------------------------

  # draw_gold

  #--------------------------------------------------------------------------

  def draw_gold(rect)

    text = Vocab.currency_unit

    draw_currency_value(@gold, text, rect.x, rect.y, rect.width)

  end



  #--------------------------------------------------------------------------

  # draw_item_number

  #--------------------------------------------------------------------------

  def draw_item_number(rect, item)

    number = @goods[item].group

    if $imported["YEA-AdjustLimits"]

      contents.font.size = YEA::LIMIT::ITEM_FONT

      text = sprintf(YEA::LIMIT::ITEM_PREFIX, number)

      draw_text(rect, text, 2)

    else

      draw_text(rect, sprintf(":%s", number), 2)

    end

  end



end # Window_VictorySpoils



#==============================================================================

# ¡ Scene_Battle

#==============================================================================



class Scene_Battle < Scene_Base



  #--------------------------------------------------------------------------

  # alias method: create_all_windows

  #--------------------------------------------------------------------------

  alias scene_battle_create_all_windows_va create_all_windows

  def create_all_windows

    scene_battle_create_all_windows_va

    create_victory_aftermath_windows

  end



  #--------------------------------------------------------------------------

  # new method: create_victory_aftermath_windows

  #--------------------------------------------------------------------------

  def create_victory_aftermath_windows

    @victory_title_window = Window_VictoryTitle.new

    @victory_exp_window_back = Window_VictoryEXP_Back.new

    @victory_exp_window_front = Window_VictoryEXP_Front.new

    @victory_level_window = Window_VictoryLevelUp.new

    @victory_level_skills = Window_VictorySkills.new

    @victory_spoils_window = Window_VictorySpoils.new

  end



  #--------------------------------------------------------------------------

  # new method: show_victory_display_exp

  #--------------------------------------------------------------------------

  def show_victory_display_exp

    @victory_title_window.open

    name = $game_party.battle_members[0].name

    fmt = YEA::VICTORY_AFTERMATH::TOP_TEAM

    name = sprintf(fmt, name) if $game_party.battle_members.size > 1

    fmt = YEA::VICTORY_AFTERMATH::TOP_VICTORY_TEXT

    text = sprintf(fmt, name)

    @victory_title_window.refresh(text)

    #---

    @victory_exp_window_back.open

    @victory_exp_window_back.refresh

    @victory_exp_window_front.open

    @victory_exp_window_front.refresh

  end



  #--------------------------------------------------------------------------

  # new method: show_victory_level_up

  #--------------------------------------------------------------------------

  def show_victory_level_up(actor, temp_actor)

    @victory_exp_window_back.hide

    @victory_exp_window_front.hide

    #---

    fmt = YEA::VICTORY_AFTERMATH::TOP_LEVEL_UP

    text = sprintf(fmt, actor.name)

    @victory_title_window.refresh(text)

    #---

    @victory_level_window.show

    @victory_level_window.refresh(actor, temp_actor)

    @victory_level_skills.show

    @victory_level_skills.refresh(actor, temp_actor)

  end



  #--------------------------------------------------------------------------

  # new method: show_victory_spoils

  #--------------------------------------------------------------------------

  def show_victory_spoils(gold, drops)

    @victory_exp_window_back.hide

    @victory_exp_window_front.hide

    @victory_level_window.hide

    @victory_level_skills.hide

    #---

    text = YEA::VICTORY_AFTERMATH::TOP_SPOILS

    @victory_title_window.refresh(text)

    #---

    @victory_spoils_window.show

    @victory_spoils_window.make(gold, drops)

  end



  #--------------------------------------------------------------------------

  # new method: close_victory_windows

  #--------------------------------------------------------------------------

  def close_victory_windows

    @victory_title_window.close

    @victory_exp_window_back.close

    @victory_exp_window_front.close

    @victory_level_window.close

    @victory_level_skills.close

    @victory_spoils_window.close

    wait(16)

  end



end # Scene_Battle



#==============================================================================

#

# ¥ End of File

#

#==============================================================================



Thanks so much for any help! ^_^
56
Projects / Games / Re: Rave Heart
September 03, 2020, 02:21:53 am
Hello everyone! I wish to share Hard Reset's twitch Stream of Rave Heart's steam release! <3 ^_^ He will be streaming more of Rave Heart, so if you're interested to watch, you can always follow him as he does a lot of cool streams for both RPG maker games and AAA RPG's alike! <3 :D ^^

https://www.twitch.tv/videos/727468043
57
Projects / Games / Re: Rave Heart
August 31, 2020, 03:48:31 am
Hello everyone! For those who are interested! You can check out and follow HollowNostalgia on Twitch, as he plays and streams Rave Heart shortly after the full steam release! <3 ^_^ Enjoy! :D

https://www.twitch.tv/videos/726298439
58
Projects / Games / Re: Rave Heart
August 28, 2020, 09:58:30 am
I also wish to share Driftwood Gaming's wonderful and super fun stream they did for Rave Heart a day before this release! <3 ^_^ Drifty and Tea are such wonderful people who make very fun streams that'll make you smile a lot and even laugh with how hilarious they do stuff with their epic VA's and sound effects. xD Other than that, they are always very helpful with their feedback and insight! ;) ^_^ Support their channel and discord server as well you guys! <3

https://www.youtube.com/watch?v=-rvThpgh48Y
59
Projects / Games / Re: Rave Heart
August 28, 2020, 08:12:04 am
Rave Heart is Officially Released on Steam!



https://store.steampowered.com/app/1375880/Rave_Heart/

Hello everyone! First of all, I wish to thank God for giving me the strength and will to develop this game through all the ups and downs of my journey making it. And I wish to thank my family and friends for supporting me along the way, and last but not the least, I wish to thank the wonderful and beautiful Rpg Maker and game deving community for all the love, support, and help being shared! From my wonderful friends on the RM community! Game devs, Let's players, Reviewers, Streamers, and players alike! <3 The wonderful, awesome, and talented people in my credits section for making this game happen with their amazing plugins/scripts, arts, sprites, music, and what have you! Degica team for the wonderful engine! You all made this happen! Again, I wish to THANK each ONE of you, from the bottom of my heart! ^_^

Without further ado, Rave Heart is officially out on steam now for 5.99$! I truly hope you all enjoy the game and that it will be worth your while! <3 I had a dream and goal in mind, that the game shall bring the very same feeling I felt as a child, playing my favorite classic JRPG's from the PS1 era along with the GBA. And I hope it shall deliver just that, the classic nostalgic JRPG experience. ^_^ <3 Wishing you all the best! Enjoy and much love! :)
60
Projects / Games / Re: Rave Heart
August 27, 2020, 04:28:12 am
Hello everyone! Rave Heart is about to be released tomorrow already! <3 ^_^ And I am so excited! To anyone who is interested, please don't hesitate to wishlist the game on steam now, that would mean so much to me! <3 :D

https://store.steampowered.com/app/1375880/Rave_Heart/

And just a little bonus! dreamfall887 from RMW just made a Disney Princess art via the Azaleadolls feature for Ellemine, and I just love it! <3