RE: What's up, RMers? - Kain Nobel - 06-09-2023
Animated Enemy progress...
- Ghost (Done) - Might be equipped with a Scythe later.
- Lion Monster (Done) - Might get a new head later.
- Lioness Monster (Done) - Body might be modified later.
- Griffon Monster (Done) - Modified "Lion Monster" with slightly different body and wings.
- Standard Chicken (Done) - Already comes in 3 color themes, will add new palettes/patterns later.
- Rooster Monster (Done) - Already comes in 17 color themes / patterns.
- Caterpillar Monster (Done) - Got the flat Green and Violet versions. Will have transforms.
- Shadow the Dog (Done) - May be equipped with special gear later (armor, gas mask, etc).
- Hellhound (Done) - Recolored "Shadow the Dog" to be a dog on fire. Added a mane of spikes.
- Hellraiser (Done) - The big bad boss! He takes lava baths and has wings but can't fly.
- Basilisk (Started) - Started the standard orange/yellow, will be making a gold/blue version.
- Oily Body (Done) - Ball of floating oily goop. When hit with "Fire", they turn into...
- Flame Soul (Done) - Fire version of the "Ghost", made of flames.
- Golemn (Started) - Will have Sand, Stone, Lava versions. Maybe a Glacier version.
- Chimera (Almost Done) - Mix of 4 enemy types. The Right and Left facing sides are unique.
- Red Dragon (Almost Done) - Large dragon. Awaiting wings and proper texture.
Harpies aren't even on the list yet, but they absolutely should be! Cross the bridge and lose your scalp to crazy bird women! The only enemy not made in the month of June is the Red Dragon, but I'd like to get the wings done before the month is finished. The Golemn enemy's "base" has been started, but I'm delaying that until next development cycle (2023Q4) if I have time. Hellraiser was started last year, but I've finally added the minor finishing touches.
The most recent REGAL bug hunt has netted no new issues and is currently stable as far as the finished portions of the program go. The "Database/States" page design hasn't changed much, but it may have some new features soon. The current version supports "Expire States" such as "Doom 3" -> "Doom 2" -> "Doom 1" -> "K.O." and self-cancelling states such as "Frog" and "Chicken". Also, that "Doom" icon is now outdated, the new one is based on my "Ghost" enemy but I've updated it.
(Note to Self: Add the "Chicken" state.)
I've been using the new "NES" theme, courtesy of ChatGPT. I really like this theme, but I'm not sure if the orange buttons with white text is readable to others. I have no problem with it personally, but I'm thinking maybe somebody else would have a hard time reading the text. I'll probably revise the theme later.
RE: What's up, RMers? - DerVVulfman - 06-09-2023
I figure you were setting the theme system up to be configurable, so you could import/export themes and make it so the colors could be altered to suit one's taste. Heck, given some users may be colorblind, it'd be a good idea.
I had issues with my revised body templates for the Half Kaisers, in that some 'garbage' pixels wormed their way during palette conversion. The issues were not visible with lighter toned body templates, but were highly visible with the dark skin toned. For reference, the basic template design with eyes is a 16-color palette, ones with no face (and thus no eyes) has an 11-color palette, and the headless template (no head/no sweat drops) have a 9-color palette.
So once I saw the graphic blunders in the dark versions of the templates, I just fixed them. And then made the medium and pale skin editions. Of those, there are both male and female, left-handed and right-handed editions. Not a small number by any reckoning. But now, done.
Still, I hope to figure out template color schemes for other skin tones... including livid/dead.
RE: What's up, RMers? - Steel Beast 6Beets - 06-11-2023
Quick question: is there a way to "refresh" the game to reflect changes like adding/removing skills? I created a common event that adds three new attacks to a character's repertoire when equipping an accessory but the changes only show up after a battle.
RE: What's up, RMers? - kyonides - 06-11-2023
Weird... yet still possible if you did it the wrong way or you're missing a skill refresh step... The problem is that any of the existing iterations of the engine simply adds a skill to the actor's list in no time. This tardiness is suspicious. How did you add them? Are you sure you didn't miss anything? Or you using a conflicting script?
RE: What's up, RMers? - DerVVulfman - 06-11-2023
I agree with kyonides. The Game_Actor class has values like @name, @class, and of course an array called @skills. And the @skills array merely has a list of skill IDs... not hard to really add a skill into. And once a skill ID is added into the array, it should be immediately useful.
(06-11-2023, 02:57 AM)Steel Beast 6Beets Wrote: I created a common event that adds three new attacks to a character's repertoire when equipping an accessory but the changes only show up after a battle.
So I am curious. Is it the common event that should apply the skills, or is it the equipping of the accessory that grants the skills?
Under normal circumstances, no armor piece gives one skills. And under normal circumstances, you cannot unequip/equip weapons or armor during battle which would lend you skills given by armor thus.
Certainly, more info is needed.
RE: What's up, RMers? - Remi-chan - 06-11-2023
Just another video of one of the scenes that will become available in Sanctuary.
From Foes to Friends
Old wounds may not heal, but they would try to repair the schism that has grown vast between them in spite of it all. Be that in the name of preservation or harmony, that is anyone's guess.
RE: What's up, RMers? - Kain Nobel - 06-11-2023
@DerVVulfman: Yes, users can create and customize their own font and color schemes, plus I have an assortment of prefabricated ones too. They're all currently configured through a simple script but I do hope to one day make a dedicated UI with sliders for better live feedback and visual context. (The UI is very low priority for now, unfortunately, but it's on the list, yes.)
Been troubleshooting the Japanese version of the program, seems my terms are outdated. Just did a full walkthrough, everything appears to be working 100% again. I'll run through it again tomorrow (today) and see if anything was missed.
2023Q3 "pet peeves" checklist has been fully completed! Well, the only task that I haven't completed is the character / face / battler / icon switcher, but that's a little more involved and needs a plan of action. Also, hue shift operations are disabled in REGAL editor because it's so damn slow to execute, but the value can still be changed and is still valid with no updates to the visual context itself (it works in-game.)
Another thing I need to work on is the explicit X/Y setting of sprites within the REGAL editor, which I'm not sure how to do at the moment. The program uses an automated "layout manager", but I wasn't even thinking of it's support for explicit X/Y setting until I actually needed such behavior. D'oh! What this means is a developer can't currently set the proper X/Y of enemy troops, nor can they configure battle animations like they should be able to (yet). Kinda pisses me off but I'll deal with it somehow.
I've thought of redoing everything using Ruby Shoes instead of FXRuby, but that's not exactly a favorable option. I'll do it only if I have to. GPT can't seem to figure it out either, so I'm just... stuck. Yuck! When I follow tutorials (which are rare), I also get to a point where I'm just stuck and can't proceed because maybe it's an outdated or inaccurate source of information.
Once I get these issues figured out, I believe I'll be moving at a lightning fast pace again. I've had to step away because I can't sit idle on a time consuming problem that isn't getting resolved. I'm running out of "other easy things" to do, so I'll be forced to confront this sooner than later. When I resort to GPT, it can't figure it out either and keeps writing things that aren't valid whatsoever.
I don't think GPT knows the difference between TK, Shoes, FXRuby, WX Ruby, Qt or any of the other toolkits, and it seems to mix up Java, Ruby, C++ and Python a lot. It's an interesting system with plenty of potential but it's largely incapable at the current stage of doing anything I'd consider useful. Whatever jobs it may replace, real human programmers are mandatory! You cannot rely on GPT for anything worthwhile (yet).
RE: What's up, RMers? - Steel Beast 6Beets - 06-11-2023
(06-11-2023, 03:18 AM)kyonides Wrote: Weird... yet still possible if you did it the wrong way or you're missing a skill refresh step... The problem is that any of the existing iterations of the engine simply adds a skill to the actor's list in no time. This tardiness is suspicious. How did you add them? Are you sure you didn't miss anything? Or you using a conflicting script?
(06-11-2023, 04:27 AM)DerVVulfman Wrote: I agree with kyonides. The Game_Actor class has values like @name, @class, and of course an array called @skills. And the @skills array merely has a list of skill IDs... not hard to really add a skill into. And once a skill ID is added into the array, it should be immediately useful.
(06-11-2023, 02:57 AM)Steel Beast 6Beets Wrote: I created a common event that adds three new attacks to a character's repertoire when equipping an accessory but the changes only show up after a battle.
So I am curious. Is it the common event that should apply the skills, or is it the equipping of the accessory that grants the skills?
Under normal circumstances, no armor piece gives one skills. And under normal circumstances, you cannot unequip/equip weapons or armor during battle which would lend you skills given by armor thus.
Certainly, more info is needed.
I recently discovered the wonder of switch-triggered parallel common events (and created a accessory that adds 1 gold every 24 frames) and I thought I could sidestep the limitation of modern algebra's skill teaching equipment and items script that only allow one skill per equipment piece/item. The script in question:
Code: #==============================================================================
# Skill Teaching Equipment & Items
# Version 1.0
# Author: modern algebra (rmrk.net)
# Date: January 27, 2008
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Instructions:
# Insert this script just above Main. To configure your database, see the
# Configuration Section at lines 29, 66, and 97 (by default; once you've
# configured some of the data, this will change)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ** RPG
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Adds an additional stat, skill_id, to weapons, armors, and items
#==============================================================================
module RPG
#==============================================================================
# ** Item
#==============================================================================
class Item
#
attr_sec_reader :skill_id, 'get_stats (0)'
attr_sec_reader :class_limits, 'get_stats (1)'
attr_sec_reader :actor_limits, 'get_stats (2)'
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Stats
# parameter : 0 => skill ID, 1 => classes, 2 => actors
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def get_stats (parameter)
learn_skill = 0
class_limits, actor_limits = ['all'], ['all']
case @id
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * CONFIGURATION
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# It is very easy to configure the database. All that you need to do
# is write:
#
# when <item ID>
# learn_skill = <skill_id>
# class_limits = [<class IDs that can use>]
# actor_limits = [<actor IDs that can use>]
#
# For every item that you want to teach skills. To discover what the
# ID of an item or a skill is, look at the number directly to the left
# of their names in the Database. For the other 2, fill those in
# if only specific classes or actors can gain the skill. If you do not
# specify, it is assumed that any actor can use the item and gain the
# skill. There are two examples below. Feel free to delete them once
# you understand what you need to do.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
when 251 # Skill Scroll
learn_skill = 401 # Slap
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
when 252 # Skill Scroll
learn_skill = 402 # Lazer Beam
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
when 253 # Skill Scroll
learn_skill = 403 # Photon Blaster
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
when 254 # Skill Scroll
learn_skill = 404 # Transfusion
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
when 255 # Skill Scroll
learn_skill = 405 # Bag of Tricks
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
when 256 # Skill Scroll
learn_skill = 406 # Arc Immunity
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
when 257
learn_skill = 407
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
when 258 # Skill Scroll
learn_skill = 408 # Sacrifice
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
when 259 # Skill Scroll
learn_skill = 409 # Inmolation
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
when 260 # Skill Scroll
learn_skill = 410 # Body Down
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
when 261 # Skill Scroll
learn_skill = 411 # Mind Down
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
when 262 # Skill Scroll
learn_skill = 412 # Rotten Herbs
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
when 263 # Skill Scroll
learn_skill = 413 # Miserable Company
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
when 264 # Skill Scroll
learn_skill = 414 # Doping
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
when 265 # Skill Scroll
learn_skill = 415 # Nootropics
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
when 266 # Skill Scroll
learn_skill = 416 # Tainted Cure
class_limits = [11, 13, 15, 16,]
when 267 # Skill Scroll
learn_skill = 417 # Narcotic Healing
class_limits = [11, 13, 15, 16,]
when 268 # Skill Scroll
learn_skill = 418 # Toxic Strike
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
when 269 # Skill Scroll
learn_skill = 419 # Unseen Strike
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
when 270 # Skill Scroll
learn_skill = 420 # Speechless Strike
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
when 271 # Skill Scroll
learn_skill = 421 # Entrust
class_limits = [10, 11, 12, 13, 14, 15, 16, 17, 18]
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * END CONFIGURATION
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
end
return [learn_skill, class_limits, actor_limits][parameter]
end
end
#==============================================================================
# ** Weapon
#==============================================================================
class Weapon
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Skill ID
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def skill_id
learn_skill = 0
case @id
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * CONFIGURATION
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# when <weapon ID>
# learn_skill = <skill_id>
#
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
when 453 # Handgun
learn_skill = 482 # Drive-By Shot
when 477 # Morning Star
learn_skill = 444 # Wallop
when 478 # Shotel
learn_skill = 446 # Spin Cut
when 479 # Machete
learn_skill = 443 # Dire Slice
when 997 # Sword of Donduria
learn_skill = 590 # Art: Donduria Slash
when 998 # Rod of Acon
learn_skill = 591 # Art: Acon Burst
when 999 # Hero Sword
learn_skill = 899 # End of Times
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * END CONFIGURATION
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
end
return learn_skill
end
end
#==============================================================================
# ** Armor
#==============================================================================
class Armor
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Skill ID
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def skill_id
learn_skill = 0
case @id
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * CONFIGURATION
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# when <armor ID>
# learn_skill = <skill_id>
#
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
when 263 # Stone Mask
learn_skill = 305 # Blood Fest
when 270 # Mighty Might
learn_skill = 398 # Focus
when 271 # Magical Magic
learn_skill = 399 # Concentrate
when 372 # Blood Tear
learn_skill = 481 # Bloody Mess
when 264 # Amber Crystal
learn_skill = 306 # Aura Drain
when 380 # Frost Stud
learn_skill = 486 # Cold Air
when 382 # Stellar Circle
learn_skill = 447 # Resistance Drive
when 383 # Silver tiara
learn_skill = 448 # Nimble Drive
when 384 # Mercury's Bandana
learn_skill = 449 # Swift Drive
when 471 # Marilith Mask
learn_skill = 390 # Marilith Power
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * END CONFIGURATION
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
end
return learn_skill
end
end
end
#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
# This class handles the actor. It's used within the Game_Actors class
# ($game_actors) and refers to the Game_Party class ($game_party).
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# * Change Equipment
# equip_type : type of equipment
# id : weapon or armor ID (If 0, remove equipment)
#--------------------------------------------------------------------------
alias ma_skill_teaching_items_change_equipment equip
def equip (equip_type, id)
# Forget the skill from what was previously equipped
skill_id = 0
case equip_type
when 0; skill_id = $data_weapons[@weapon_id].skill_id if @weapon_id != 0
when 1; skill_id = $data_armors[@armor1_id].skill_id if @armor1_id != 0
when 2; skill_id = $data_armors[@armor2_id].skill_id if @armor2_id != 0
when 3; skill_id = $data_armors[@armor3_id].skill_id if @armor3_id != 0
when 4; skill_id = $data_armors[@armor4_id].skill_id if @armor4_id != 0
end
forget_skill (skill_id) if @unnatural_skills.include? (skill_id)
@unnatural_skills.delete (skill_id)
# Run original method
ma_skill_teaching_items_change_equipment (equip_type, id)
skill_id = 0
case equip_type
when 0; skill_id = $data_weapons[@weapon_id].skill_id if @weapon_id != 0
when 1; skill_id = $data_armors[@armor1_id].skill_id if @armor1_id != 0
when 2; skill_id = $data_armors[@armor2_id].skill_id if @armor2_id != 0
when 3; skill_id = $data_armors[@armor3_id].skill_id if @armor3_id != 0
when 4; skill_id = $data_armors[@armor4_id].skill_id if @armor4_id != 0
end
# Learn the skill from the weapon just equipped
unless @skills.include? (skill_id) || skill_id == 0
@unnatural_skills.push (skill_id)
learn_skill (skill_id)
end
end
#--------------------------------------------------------------------------
# * Setup
# actor_id : actor ID
#--------------------------------------------------------------------------
alias ma_skill_teaching_items_actor_setup setup
def setup(actor_id)
@unnatural_skills = []
# Run original method
ma_skill_teaching_items_actor_setup (actor_id)
# If there is a skill attached to weapon, learn it
unless @weapon_id == 0
skill_id = $data_weapons[@weapon_id].skill_id
unless skill_id == 0 || @skills.include? (skill_id)
@unnatural_skills.push (skill_id)
learn_skill (skill_id)
end
end
# If there are skills attached to the armors, learn them
armor = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
for armor_id in armor
next if armor_id == 0
skill_id = $data_armors[armor_id].skill_id
next if skill_id == 0 || @skills.include? (skill_id)
@unnatural_skills.push (skill_id)
learn_skill (skill_id)
end
end
end
#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
# This class handles the actor. It's used within the Game_Actors class
# ($game_actors) and refers to the Game_Party class ($game_party).
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# * Application of Item Effects
# item : item
#--------------------------------------------------------------------------
def item_effect (item)
# Run original method
effective = super (item)
# If the item is a skill teacher, and if the actor does not already possess
# the skill, and if his class and he are not restricted from using this
# item to gain the skill
if item.skill_id != 0 && (!@skills.include? (item.skill_id) || @unnatural_skills.include? (item.skill_id)) &&
(item.class_limits.include? ('all') || item.class_limits.include? (@class_id)) &&
(item.actor_limits.include? ('all') || item.actor_limits.include? (@actor_id))
@unnatural_skills.delete (item.skill_id)
learn_skill (item.skill_id)
effective |= true
end
return effective
end
end
So I created this simple common event and set it to run as soon as the game start:
And it works. Well, aside for what I stated early about changes only showing up after a battle. Or just simply changing screens as I just discovered.
RE: What's up, RMers? - Kain Nobel - 06-12-2023
I'm getting more members of the Hera royal family done. Below is the princess (left) and her mother, the queen (right).
I tried to keep the palette and overall composition the same, however I know there are still currently issues with Queen Hera (right). Those bangs need fixed, the eyes need some work, I'd like to give more definition to the nose, etc. I was just thinking of stealing the eyes from the Princess and copy/pasting them to the Queen, but I feel the Queen has a more "mature" look with the eyes.
I know, I know, the Princess's neck and torso need more detail too. Hopefully the Princess looks more youthful now, not so "chubby" and "old" :3 lol. (She's only 25...)
Other members have been rough drafted. Thus far we've got the King, the Queen, the Princess and the King's bodyguard done. The two princes are next, then the elder prince has a bodyguard who is also a prominent NPC. I'll get them drafted soon.
EDIT: Check out the Drawbringer Palette Analyser. I just discovered this tool on lospec.com. When I uploaded the Princess and Queen, here was what the analysis results looked like.
Pretty neat.
RE: What's up, RMers? - kyonides - 06-12-2023
For some reason I still think the one to the left looks older than the other one.
|