What's new

[WIP - Full] Succubus Rhapsodia (English) - Plains, Hills, and Cages Edition


Joined
Sep 21, 2020
Messages
81
Reputation score
39
Game Version: 1.20
Mod Version (Plains, Hills, and Cages): 3042.atc
(Updated 8/16/22)


Important Links:
Downloads:
Release files -
(N/A)​
Development -
Zethin's English Translation (Release_0003 - Updated 8/20/22):
These two patches are meant to be used together.
Images:
FAQs
The old thread was six years old and contained significantly outdated information that was entirely irrelevant to the ongoing project. Much of the information was also spread haphazardly throughout the thread. The only person still remaining from that group is Strange. In an effort to help readers stay up to date, I feel having an actively maintained OP is important. As I was getting closer to releasing a demo version, I realized just how chaotic the previous thread had become to outside readers, especially those reading for the first time.
Plains, Hills, and Cages is a mod that more than doubles the amount of content in the base game. It is, despite being unofficial, widely considered the definitive edition of this game and still under active development even years after the base game received its last update.
Installation Instructions
  1. Run English_Patch_Installer.exe
  2. Follow the instructions in the Command Prompt
  3. When finished, the game will closed and you should have a folder titled "English_Patch_Versions.txt" in your game folder (where the Game.exe is)
N/A

Credits:
Zethin / myself - Lead translator, programmer
Strange - Translator, programmer
 
Last edited:

Kami_sama

New member
Joined
Aug 31, 2019
Messages
9
Reputation score
7
I'm looking forward for the tranlslation. Really happy someone picked it up again.
Also I think the patch links are dead.
 
OP
WitheredGryphon
Joined
Sep 21, 2020
Messages
81
Reputation score
39
Hm, so I've been translating quite a bit of the map stuff and was working on the save menu. Went to test it out and got a Marshal dump TypeError: "cannot dump hash with default proc"
Code:
◆ 2022-07-27T11:31:39
バージョン :
    211009
パッチ :
718a
エラーの種類 :
    TypeError
メッセージ :
    cannot dump hash with default proc
マップ:
    ID:209
コモン呼び出し履歴:
    []
バックトレース :
    Scene_Save : 80行目 : in `dump'
    Scene_Save : 80行目 : in `write_save_data'
    ./Mod/Mod_Scripts/IDR_FreeRoom_Save.rb : 377行目 : in `on_decision'
    ./Mod/Mod_Scripts/魔_Force English.rb : 4047行目 : in `update'
    ./Mod/Mod_Scripts/魔_Force English.rb : 4009行目 : in `main'
    ./Mod/Mod_Scripts/魔_Force English.rb : 4003行目 : in `loop'
    ./Mod/Mod_Scripts/魔_Force English.rb : 4014行目 : in `main'
    Main : 16行目

This seems to be a very obscure error with Marshall. At first I thought it was something we did, but then I tested the save function on my original copy and it's busted as well. Have you come across this before Strange? It seems to be having problems with this line in particular: Marshal.dump($game_self_switches, file)

I can't find any procs or lambdas being placed inside of $game_self_switches that would be causing this issue though? I'm going to try redownloading my game, but was mostly just wandering if it was me.

...

Annnd after redownloading the base game, that seems to function correctly. Installing the mod is what seems to break the game (this is with version 2979.atc). Wondering if you're experiencing the same? Specifically from a fresh save. I might have to find what's causing Marshal to break which will not be a fun time unless you happen to know.

I'm looking forward for the tranlslation. Really happy someone picked it up again.
Also I think the patch links are dead.
Thanks for the heads-up. I'll update these in a bit to G-Drive instead.

Edit:

Ok nevermind it seems perhaps Marshal is pulling @extend_data which does have a default proc in the Game_SelfSwitches.rb file. This is on a completely fresh install Plains, Hills, and Cages so that's a little disconcerting. I'll have to play around with this for a while.
 
Last edited:

xRoguex

Member
Joined
Sep 26, 2021
Messages
45
Reputation score
12
Hm, so I've been translating quite a bit of the map stuff and was working on the save menu. Went to test it out and got a Marshal dump TypeError: "cannot dump hash with default proc"
Code:
◆ 2022-07-27T11:31:39
バージョン :
    211009
パッチ :
718a
エラーの種類 :
    TypeError
メッセージ :
    cannot dump hash with default proc
マップ:
    ID:209
コモン呼び出し履歴:
    []
バックトレース :
    Scene_Save : 80行目 : in `dump'
    Scene_Save : 80行目 : in `write_save_data'
    ./Mod/Mod_Scripts/IDR_FreeRoom_Save.rb : 377行目 : in `on_decision'
    ./Mod/Mod_Scripts/魔_Force English.rb : 4047行目 : in `update'
    ./Mod/Mod_Scripts/魔_Force English.rb : 4009行目 : in `main'
    ./Mod/Mod_Scripts/魔_Force English.rb : 4003行目 : in `loop'
    ./Mod/Mod_Scripts/魔_Force English.rb : 4014行目 : in `main'
    Main : 16行目

This seems to be a very obscure error with Marshall. At first I thought it was something we did, but then I tested the save function on my original copy and it's busted as well. Have you come across this before Strange? It seems to be having problems with this line in particular: Marshal.dump($game_self_switches, file)

I can't find any procs or lambdas being placed inside of $game_self_switches that would be causing this issue though? I'm going to try redownloading my game, but was mostly just wandering if it was me.

...

Annnd after redownloading the base game, that seems to function correctly. Installing the mod is what seems to break the game (this is with version 2979.atc). Wondering if you're experiencing the same? Specifically from a fresh save. I might have to find what's causing Marshal to break which will not be a fun time unless you happen to know.



Thanks for the heads-up. I'll update these in a bit to G-Drive instead.
I've said it in the other thread that the Game_SelfSwitches.rb has issues with a new fresh save of the game. I solved by deleting it.
Even without applying the eng mod it does the same problem so is an issue of the jap mod itself. If you have a save already the game works fine.
I'm finishing the list by the way... is a bit longer than I expected.
 
OP
WitheredGryphon
Joined
Sep 21, 2020
Messages
81
Reputation score
39
I've said it in the other thread that the Game_SelfSwitches.rb has issues with a new fresh save of the game. I solved by deleting it.
Even without applying the eng mod it does the same problem so is an issue of the jap mod itself. If you have a save already the game works fine.
I'm finishing the list by the way... is a bit longer than I expected.
Was there any reason for this? I'd rather not just start deleting files, especially because there's code in there used for extended maps which are, presumably, part of the game or will be soon.

When you say "if you already have a save," do you mean if you already have a save this bug doesn't happen at all, even with the Game_SelfSwitches.rb file still there?
 

Strange

Demon Girl Pro
Joined
Jul 24, 2014
Messages
1,256
Reputation score
486
Yay for new thread! 🎉 🍻
Ok, so I dug through the entirety of how the text eventually makes its way to the screen but it ultimately comes down to the original dev(s) not understanding escape characters (or caring, I guess). That's unfortunate but so it goes. The only realistic solution, as you guys mentioned, is to switch to a non-used character (it doesn't really matter what exactly).
This is 98% on Enterbrain, actually. That's code adapted from the default Japanese Window_Message.
The much later English version uses a simpler one, easier on Latin alphabets.
You should see SQ's code :eek: we have the better side of the stick here with SR.

Not a big deal, but you were discussing this earlier, so this also could help you a little with the dialogues.
-> what do we do with the pronouns?

They're (also) shown in a succubus' status, when pressing A:
"Nickname"("一人称") -> @actor.nickname_self
"Master"("ニ人称")-> @actor.nickname_master
They're followed by Bed battles #, Bust size, love_skill and supposedly Costume.
Every RNG succubus can get the following possible defaults:
nickname_self: わらわ, あちし, 我, 夢魔短縮名, アタイ, おれ, 僕, あたし, がう, ぼく, 儂, 私め, 拙者, 妾, うち, 夢魔名, あたい, ワタシ, 本機, ボク, オレ, アタシ, わたくし, わたし, 私, 俺
If you're attentive, you've noticed thing like "夢魔短縮名", which is further substituted to:
ロウ, ミィーナ, ターナ, ギル, ラーミル, ミリィ, ベスティ, ティア, リズ, ネイジー, ユーノ, エルジェ, シルフェ, ルビィ, カオシア, etc.

nickname_master/default_name_hero: 貴方様, おにーさん, あなたさま, 貴様, 兄様, アンタ, おにーちゃん, そなた, 兄さん, お前, がうがう, お兄さん, キミ, 旦那様, 主人公名様, 貴公, 小僧, にぃさま, マスター, おにいちゃん, にーさま, 主人公名さん, あなた, お主, にーちゃん, お兄さま, ご主人, お兄ちゃん, 主人公名, お兄様, おにぃさん, 坊や, あんた, オマエ, 坊っちゃん, ヒーローくん, ご主人様, 兄ちゃん, アナタ, おにいさん, 君, おまえ, 貴方, 少年
With the "主人公名*" also in the way, of course.
nickname_master would be the more flavorful, as they directly refer to MC. But I'm afraid many headaches await in ambush: MC sex change, MC swapping out of the party...
I like my 「おにーさん!」 but there's probably more than enough to deal with already.


In short, we're looking at your average JP-TL's routine nigthmare fuel.
As such I would recommend deleting these references altogether from the Talk folder.
Their use is limited to providing context/tone, and not much of it, as far as English is concerned.


Side reference/safekeeping: the possible personalities, while I'm at it.
{虚勢, 意地悪, 能天気, 淫虐, 陰気, 倒錯, 嫉妬, 純粋, 一途, 陽気, 柔和, 露悪狂, 気丈, 傲慢, 無慈悲, 小悪魔, 上品, 堅実, 狂気, 潔癖, 好色, 陰湿, 強欲, 怠惰, 博愛, 高慢, 尊大, 強気, 淫蕩, 高尚, 内気, 妖艶, 不思議, 従順, 冷酷, 聡明, 天然, 高貴, 慈愛, 淡泊, 暴食, 残忍, 勝ち気, 甘え性, 暢気, 色欲, 無機質, 憤怒, 淫靡, 独善}
(can you tell I'm double-checking the database? :p)


I'm about 97% certain they're a liability in English sentences, and that you wouldn't want to use them.
Any idea what to do with them, at least in the menu? I could:
a) delete them. Then replace them with a titbit entry. We don't lack material.
b) group nickname_master (+personalities?), then replace the with a jp-flavored greeting made from scratch: - Onii-chan!♪ / - Hero-sama... / etc.
c) replace one reference to a blank entry that needs be defined by the user; that would replace the Promise extra rename entries, which are related and useless for us Gaijins.
I'll keep bringing down the last jp strongholds while I think about it. I'm basically going over every single line again, but I'll have the new and improved 魔_English_redraws.rb by this weekend.

Regarding the subs:
ɱ,ɯ,ȳ should be fine. \xc9\xb1, \xc9\xaf, \xc8\xb3 in UTF-8, respectively. That's ɊъɊϊȊӊ if they're checked byte/byte somehow, and I see no character we'd possibly use). Send me your "Window_BattleLog/def refresh" so we're consistent with each other, I'll integrate your changes.
I think I'll move the Window_BattleLog to a new 魔_Shared.rb, where we could centralize other pieces of code we risk working concurrently on.
By the way, \n is reserved in Ruby, and \\H or \\T are proper. \w\q\m should be the only ones.

edit : Game_SelfSwitches
Well that's odd. Nothing comes to mind that could prevent a dump, except RPGMXP reloading maps in odd ways after they've been updated.
The update maid ran a script to update, well things I forgot. I check on her too.

Coincidentally, IDR_FreeRoom_Save.rb also got in my way just yesterday when trying to alter save filenames; everything worked, except with an extra running Laurent sprite for mysterious reasons 😵... Saves are likely to become uncompatible (I hope not), but they shouldn't prevent acess to the self switches? As long as the event in question still exists on the map.
 
Last edited:

xRoguex

Member
Joined
Sep 26, 2021
Messages
45
Reputation score
12
Was there any reason for this? I'd rather not just start deleting files, especially because there's code in there used for extended maps which are, presumably, part of the game or will be soon.

When you say "if you already have a save," do you mean if you already have a save this bug doesn't happen at all, even with the Game_SelfSwitches.rb file still there?
Yep that's exactly what I've said. But imho if a game start break because is a file causing it and without it works fine I delete it without problem. I spent half day to try and see if i could keep it but if it's dev's fault and i think is better wait him and fix it himself. Is probably for the autosave progress feature thing but I'm not sure. You can keep it out from the game for the time being without worrying about it.
Yay for new thread! 🎉 🍻

This is 98% on Enterbrain, actually. That's code adapted from the default Japanese Window_Message.
The much later English version uses a simpler one, easier on Latin alphabets.
You should see SQ's code :eek: we have the better side of the stick here with SR.

Not a big deal, but you were discussing this earlier, so this also could help you a little with the dialogues.
-> what do we do with the pronouns?

They're (also) shown in a succubus' status, when pressing A:
"Nickname"("一人称") -> @actor.nickname_self
"Master"("ニ人称")-> @actor.nickname_master
They're followed by Bed battles #, Bust size, love_skill and supposedly Costume.
Every RNG succubus can get the following possible defaults:
nickname_self: わらわ, あちし, 我, 夢魔短縮名, アタイ, おれ, 僕, あたし, がう, ぼく, 儂, 私め, 拙者, 妾, うち, 夢魔名, あたい, ワタシ, 本機, ボク, オレ, アタシ, わたくし, わたし, 私, 俺
If you're attentive, you've noticed thing like "夢魔短縮名", which is further substituted to:
ロウ, ミィーナ, ターナ, ギル, ラーミル, ミリィ, ベスティ, ティア, リズ, ネイジー, ユーノ, エルジェ, シルフェ, ルビィ, カオシア, etc.

nickname_master/default_name_hero: 貴方様, おにーさん, あなたさま, 貴様, 兄様, アンタ, おにーちゃん, そなた, 兄さん, お前, がうがう, お兄さん, キミ, 旦那様, 主人公名様, 貴公, 小僧, にぃさま, マスター, おにいちゃん, にーさま, 主人公名さん, あなた, お主, にーちゃん, お兄さま, ご主人, お兄ちゃん, 主人公名, お兄様, おにぃさん, 坊や, あんた, オマエ, 坊っちゃん, ヒーローくん, ご主人様, 兄ちゃん, アナタ, おにいさん, 君, おまえ, 貴方, 少年
With the "主人公名*" also in the way, of course.
nickname_master would be the more flavorful, as they directly refer to MC. But I'm afraid many headaches await in ambush: MC sex change, MC swapping out of the party...
I like my 「おにーさん!」 but there's probably more than enough to deal with already.


In short, we're looking at your average JP-TL's routine nigthmare fuel.
As such I would recommend deleting these references altogether from the Talk folder.
Their use is limited to providing context/tone, and not much of it, as far as English is concerned.


Side reference/safekeeping: the possible personalities, while I'm at it.
{虚勢, 意地悪, 能天気, 淫虐, 陰気, 倒錯, 嫉妬, 純粋, 一途, 陽気, 柔和, 露悪狂, 気丈, 傲慢, 無慈悲, 小悪魔, 上品, 堅実, 狂気, 潔癖, 好色, 陰湿, 強欲, 怠惰, 博愛, 高慢, 尊大, 強気, 淫蕩, 高尚, 内気, 妖艶, 不思議, 従順, 冷酷, 聡明, 天然, 高貴, 慈愛, 淡泊, 暴食, 残忍, 勝ち気, 甘え性, 暢気, 色欲, 無機質, 憤怒, 淫靡, 独善}
(can you tell I'm double-checking the database? :p)


I'm about 97% certain they're a liability in English sentences, and that you wouldn't want to use them.
Any idea what to do with them, at least in the menu? I could:
a) delete them. Then replace them with a titbit entry. We don't lack material.
b) group nickname_master (+personalities?), then replace the with a jp-flavored greeting made from scratch: - Onii-chan!♪ / - Hero-sama... / etc.
c) replace one reference to a blank entry that needs be defined by the user; that would replace the Promise extra rename entries, which are related and useless for us Gaijins.
I'll keep bringing down the last jp strongholds while I think about it. I'm basically going over every single line again, but I'll have the new and improved 魔_English_redraws.rb by this weekend.

Regarding the subs:
ɱ,ɯ,ȳ should be fine. \xc9\xb1, \xc9\xaf, \xc8\xb3 in UTF-8, respectively. That's ɊъɊϊȊӊ if they're checked byte/byte somehow, and I see no character we'd possibly use). Send me your "Window_BattleLog/def refresh" so we're consistent with each other, I'll integrate your changes.
I think I'll move the Window_BattleLog to a new 魔_Shared.rb, where we could centralize other pieces of code we risk working concurrently on.
By the way, \n is reserved in Ruby, and \\H or \\T are proper. \w\q\m should be the only ones.
When I finish the list (in a few hours should be ready) give it a read too so you can see if there is something already inside your mods. I'll try to do it as understandable as possible.
The list is for the target/partner names in the dialogues for every chara. It could help more when you try to translate a dialogue with that pattern into it.
 

Strange

Demon Girl Pro
Joined
Jul 24, 2014
Messages
1,256
Reputation score
486
The list is for the target/partner names in the dialogues for every chara. It could help more when you try to translate a dialogue with that pattern into it.
Honestly, don't waste your time on this. An inexperienced TL (like me) could use a mass substitution for context, but we'd still need to reword the English sentence, and remove the Japanese idiosyncracies most of the the time.
I only did the above lists because they were fast and easy to make, and I was checking on relevant parts of the script. They have little use, but as external references.

The Marshal issue sounds like a one. You could try running your script from inside the game, on a fresh map with the copied event. That'd be overly tedious to do that with each one, but if it's only a few dozens...
 
OP
WitheredGryphon
Joined
Sep 21, 2020
Messages
81
Reputation score
39
edit : Game_SelfSwitches
Well that's odd. Nothing comes to mind that could prevent a dump, except RPGMXP reloading maps in odd ways after they've been updated.
The update maid ran a script to update, well things I forgot. I check on her too.

Coincidentally, IDR_FreeRoom_Save.rb also got in my way just yesterday when trying to alter save filenames; everything worked, except with an extra running Laurent sprite for mysterious reasons 😵... Saves are likely to become uncompatible (I hope not), but they shouldn't prevent acess to the self switches? As long as the event in question still exists on the map.
This is on an entirely fresh save. It doesn't seem like the proc was actually being used for anything other than to set a default empty {} as the value for unrecognized keys (if my rookie Ruby reading skills are anything to go by). I switched the line in Game_SelfSwitches.rb from @extend_data = Hash.new { |h, i| h[i] = {} } to @extend_data = Hash.new( {} ) and that resolved the problem in effect. We'll see if that has any repercussions down the road but as far as I can tell there was literally nothing being done to the hash using the proc.

Anyway...

Some other points to touch on:
  1. I'd like to get our file names in order. I'd prefer us to start using the prefix 魔_English_MOD_<filename>.rb for anything we're touching. For example, to fix that Game_SelfSwitches.rb file, I would create a file called 魔_English_MOD_Game_SelfSwitches.rb. Right now we've got like four variations of file names.
  2. I'd like for us to start working on cleaning up 魔_Force English.rb. There's a lot of code in there not being modified that can be erased or broken into different files. "Force English" is way too cryptic for me to remember what all is stuck inside of that 8000 line file.
  3. I've been trying to suss out where the names of enemies who are talking are rendered in the battle dialogue. Are you aware of where those are, Strange?
 

Strange

Demon Girl Pro
Joined
Jul 24, 2014
Messages
1,256
Reputation score
486
This is on an entirely fresh save. It doesn't seem like the proc was actually being used for anything other than to set a default empty {} as the value for unrecognized keys (if my rookie Ruby reading skills are anything to go by). I switched the line in Game_SelfSwitches.rb from @extend_data = Hash.new { |h, i| h[i] = {} } to @extend_data = Hash.new( {} ) and that resolved the problem in effect. We'll see if that has any repercussions down the road but as far as I can tell there was literally nothing being done to the hash using the proc.
IIUC this should only matter for the maps in /Mod_Data (that absolutely should be moved to /data) and the new playground maps (/data/map).

  1. I'd like to get our file names in order. I'd prefer us to start using the prefix 魔_English_MOD_<filename>.rb for anything we're touching. For example, to fix that Game_SelfSwitches.rb file, I would create a file called 魔_English_MOD_Game_SelfSwitches.rb. Right now we've got like four variations of file names.
  2. I'd like for us to start working on cleaning up 魔_Force English.rb. There's a lot of code in there not being modified that can be erased or broken into different files. "Force English" is way too cryptic for me to remember what all is stuck inside of that 8000 line file.
  3. I've been trying to suss out where the names of enemies who are talking are rendered in the battle dialogue. Are you aware of where those are, Strange?
1 - Absolutely. I'd rather keep the libraries (English_abc gals, etc.) at the start of the list, but these are Ok as long as they're loaded last. And I like consistence as well.
2 - Not that much; I've been keeping a double log with pointers about everything I edited. Strings, especially; you won't waste any time having to look for them.
I wouldn't mind splitting the beast, but it might not be so useful trying to make it smaller.
3- The speaker, correct? I knew but don't remember. I had to edit it anyway; it's probably in the original code.

edit #3: whoa, whoa! just in case: you haven't forgotten my "\016[jp name] for enemy names substitution"? It specifically looks for the jp names, and sub them in any text that goes through $game_temp.battle_log_text. You'll need to disable it if you want to test how the original would work.
 
Last edited:
OP
WitheredGryphon
Joined
Sep 21, 2020
Messages
81
Reputation score
39
IIUC this should only matter for the maps in /Mod_Data (that absolutely should be moved to /data) and the new playground maps (/data/map).
I've barely made it like 10 minutes into the game with despite all of this pre-work I've done, so I'll take your word for it.

1 - Absolutely. I'd rather keep the libraries (English_abc gals, etc.) at the start of the list, but these are Ok as long as they're loaded last. And I like consistence as well.
2 - Not that much; I've been keeping a double log with pointers about everything I edited. Strings, especially; you won't waste any time having to look for them.
I wouldn't mind splitting the beast, but it might not be so useful trying to make it smaller.
3- The speaker, correct? I knew but don't remember. I had to edit it anyway; it's probably in the original code.
1 - Is there any particular reason you want libraries are the top of the list? Because they aren't at the top of the list right now regardless. If you have a secondary file that you've created and aren't modifying from the game, you can put it at the top of the list with 魔_English_LIB_RPG_<Name> or something. The prefix really doesn't matter. This is just one I picked out. What I'm really looking for is consistency because the names are all over the place right now.

2 - I'm not saying you aren't keeping track of changes, but you can't seriously tell me you've modified all 8,000 lines of code in 魔_Force English.rb There's 45 references of "UK" inside that file over 8,000 lines. I know for a fact a huge chunk of Scene_Battle is not being modified at all. I'm curious why you're averse to just putting what you've changed in their respective files? For example, I needed to modify the announce definition in SR_Util because trying to modify it in Translator++ would crash the game. I didn't copy all of SR_Util. All I needed was this in a new file "魔_English_MOD_SR_Util_other":
Ruby:
module SR_Util
  def self.announce(text, se = "通常")
    @STR_DB = {
        "決定キーを押しながら移動でダッシュ" => "Press the 'Decision' key to dash!"
    }
  
    if @STR_DB.key?(text)
      text = @STR_DB[text]
    end
    $game_temp.announce_text.push([text, se])
  end
end
Because that's all I'm modifying.

3 - Yes the speaker. I've been trying to hunt down where that's displayed to no avail. Currently the speaker is still displaying the Japanese name so I'd like to get that knocked out.

Edit:

edit #3: whoa, whoa! just in case: you haven't forgotten my "\016[jp name] for enemy names substitution"? It specifically looks for the jp names, and sub them in any text that goes through $game_temp.battle_log_text. You'll need to disable it if you want to test how the original would work.
That's not what I'm referring to. I'm referring to the nametag at the top during combat dialogue. Your code doesn't handle nametags.

This:

Qy8PY7v[1].png
 

Strange

Demon Girl Pro
Joined
Jul 24, 2014
Messages
1,256
Reputation score
486
1 - Is there any particular reason you want libraries are the top of the list?
2 - I'm not saying you aren't keeping track of changes, but you can't seriously tell me you've modified all 8,000 lines of code in 魔_Force English.rb
3 - Yes the speaker.
1- The game will load these mod .rb files in alphabetical order. So the last override the first. I think only our many-strokes 魔 matter. I'd rather keep the *abc* libraries at the start, but that might be superstition.
2- Of course. But sometimes I needed a line 5000 lines deep into a single definition, which you cannot cut into pieces. Scene_Battle as the main offender. I'm not even sure there's a better way for the worse cases.
3- I'll look into it. It got on my nerves before, so I went on doing other things. I'll find it soon(TM)

Here's part of what you'll find in one of my logs, as an example:
Ruby:
class Window_PromiseRight < Window_Selectable
  def can_get_bonus?(index = self.index) # <- + UK_girl(jp_name)
    "ボーナス習得には#{@actor.name}からの寵愛が必要です!"
    "ボーナス習得には#{@actor.name}と特別な関係が必要です!"
    "ボーナス習得には#{@actor.name}と特別な関係が必要です!"
    "ボーナス習得に必要なレベルが足りません!"
    "ボーナス習得に必要な夢の魔力が足りません!"
    "必要なLps.が足りません!"
    "ボーナス習得に必要な好感度が足りません!"
    "必要な契約の珠が足りません!"
    "ボーナス取得に必要なアイテムが足りません!"
    "既に最大レベルに達しています!"
    "最大レベルを超えてしまいます!"
    "#{@actor.name}はすでにこのスキルを習得しています!"
    "#{@actor.name}はすでにこの素質を習得しています!"
  end
  def draw_item(index) # TODO: check other extension_name instances -> moved fix to $names_DB.UK_250_275
    "【#{bonus.name}】を習得" # sticking with 'learn' for length
    "【オーラルセックス】を習得"
    "「#{bonus.name}」を習得"
    "【#{bonus.name}】で素質を消去"
    "【#{bonus.name}】を習得し、素質を消去"
    "#{bonus.name}を刻印"
    "名前を変える"
    "レベルを上げる"
    "一人称を変える"
    "二人称を変える"
    "レベルを下げる"
    "レベルを10上げる"
    "レベルを10下げる"
    "金を採取する"
    "寵愛不足"
    "??? 解禁:【寵愛】"
    "大切な人不足"
    "??? 解禁:【大切な人】" # tentatively linked conditions to abilities, etc. database
    "??? 解禁:【愛の胤】"
    "??? 解禁:好感度#{@data[index][4].to_s}"
    "??? 解禁:夢の魔力#{@data[index][4].to_s}"
    "??? 解禁:プレシャスリング"
  end
  def update_help
    "この夢魔の名前を変更する。"
    "この夢魔のレベルを上げる。"
    "この夢魔自身の呼び方を変える。"
    "この夢魔からの呼び方を変える。"
    "この夢魔のレベルを下げる。"
    "この夢魔のレベルを10上げる。"
    "この夢魔のレベルを10下げる。"
    "この夢魔から3000Lps.相当の金を採取します。"
    "#{@actor.name}からの寵愛が必要です。"
    "#{@actor.name}と特別な関係であることが必要です。"
    "あなたと#{@actor.name}の間にはまだ子供がいません。"
    "習得に必要な夢の魔力が足りない。"
  end
end
Don't worry too much about 2-, I really made it so all my TLs are easily available for you to find them if required. I'll also organize the rest with your remarks in mind.

3- All it took me was a Db_Lessersuccubus_A.new 🙈 Note to self: remember the simple solutions...
Ruby:
class Talk_Sys
  def make_text
#########################################################################################################
#●基本情報読み込み
t_actor = $msg.t_target.name #会話対象のアクター名
speaker = $msg.t_enemy.name #会話中のエネミー名
master = $game_actors[101].name #主人公名
 
Last edited:
OP
WitheredGryphon
Joined
Sep 21, 2020
Messages
81
Reputation score
39
1- The game will load these mod .rb files in alphabetical order. So the last override the first. I think only our many-strokes 魔 matter. I'd rather keep the *abc* libraries at the start, but that might be superstition.
2- Of course. But sometimes I needed a line 5000 lines deep into a single definition, which you cannot cut into pieces. Scene_Battle as the main offender. I'm not even sure there's a better way for the worse cases.
3- I'll look into it. It got on my nerves before, so I went on doing other things. I'll find it soon(TM)

Here's part of what you'll find in one of my logs, as an example:
Ruby:
class Window_PromiseRight < Window_Selectable
  def can_get_bonus?(index = self.index) # <- + UK_girl(jp_name)
    "ボーナス習得には#{@actor.name}からの寵愛が必要です!"
    "ボーナス習得には#{@actor.name}と特別な関係が必要です!"
    "ボーナス習得には#{@actor.name}と特別な関係が必要です!"
    "ボーナス習得に必要なレベルが足りません!"
    "ボーナス習得に必要な夢の魔力が足りません!"
    "必要なLps.が足りません!"
    "ボーナス習得に必要な好感度が足りません!"
    "必要な契約の珠が足りません!"
    "ボーナス取得に必要なアイテムが足りません!"
    "既に最大レベルに達しています!"
    "最大レベルを超えてしまいます!"
    "#{@actor.name}はすでにこのスキルを習得しています!"
    "#{@actor.name}はすでにこの素質を習得しています!"
  end
  def draw_item(index) # TODO: check other extension_name instances -> moved fix to $names_DB.UK_250_275
    "【#{bonus.name}】を習得" # sticking with 'learn' for length
    "【オーラルセックス】を習得"
    "「#{bonus.name}」を習得"
    "【#{bonus.name}】で素質を消去"
    "【#{bonus.name}】を習得し、素質を消去"
    "#{bonus.name}を刻印"
    "名前を変える"
    "レベルを上げる"
    "一人称を変える"
    "二人称を変える"
    "レベルを下げる"
    "レベルを10上げる"
    "レベルを10下げる"
    "金を採取する"
    "寵愛不足"
    "??? 解禁:【寵愛】"
    "大切な人不足"
    "??? 解禁:【大切な人】" # tentatively linked conditions to abilities, etc. database
    "??? 解禁:【愛の胤】"
    "??? 解禁:好感度#{@data[index][4].to_s}"
    "??? 解禁:夢の魔力#{@data[index][4].to_s}"
    "??? 解禁:プレシャスリング"
  end
  def update_help
    "この夢魔の名前を変更する。"
    "この夢魔のレベルを上げる。"
    "この夢魔自身の呼び方を変える。"
    "この夢魔からの呼び方を変える。"
    "この夢魔のレベルを下げる。"
    "この夢魔のレベルを10上げる。"
    "この夢魔のレベルを10下げる。"
    "この夢魔から3000Lps.相当の金を採取します。"
    "#{@actor.name}からの寵愛が必要です。"
    "#{@actor.name}と特別な関係であることが必要です。"
    "あなたと#{@actor.name}の間にはまだ子供がいません。"
    "習得に必要な夢の魔力が足りない。"
  end
end
Don't worry too much about 2-, I really made it so all my TLs are easily available for you to find them if required. I'll also organize the rest with your remarks in mind.
That's fair, I hadn't considered being unable to break up a definition (not that I've tried but my hunch is it would not work).

On another note, I've been keeping "Onii-san", etc. inside the translation. After some back-and-forth with myself, I think the more popular opinion would be to leave those those names alone rather than trying to translate them into "big bro" or something (which obviously does not universally apply, if at all).

Also, maybe I'm not following, but the splice affects more than just what I've changed in the BattleLog class (which is literally just swapping the character checks). The rest is the same as what you have now (or should be). However, there's still "w" and "m" (and presumably "y") characters still showing up because they weren't appropriately batch replaced somewhere. I don't know which files are causing the issue as I haven't dug into it yet. Was assuming you'd already batch-replaced them.

Ruby:
class Window_BattleLog < Window_Base

  #--------------------------------------------------------------------------
  # ● テキスト設定
  #     text  : ウィンドウに表示する文字列(文字入りの配列ごと渡してもOK)
  #     align : アラインメント (0..左揃え、1..中央揃え、2..右揃え)
  #--------------------------------------------------------------------------
  def refresh
    text = $game_temp.battle_log_text
    #File.open("LOGGERS.txt", 'a+') { |file| file.write("Original: " + $game_temp.battle_log_text.inspect + "\n\n") }
   
    # キープ中なら最後に取得した座標を読み込み
    if @keep_flag == true
      x = @last_x
      y = @last_y
      @keep_flag = false
    else
      # キープしてない時は座標をクリア
      x = y = 0
      # バックログに改行指定を追加
      $game_temp.battle_back_log += "\n"
    end

    # 制御文字処理
    begin
      last_text = text.clone
      text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
    end    until text == last_text
    text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
      $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
    end
   
   

    #  ʕ•ᴥ•ʔ ??
    # \016[jp name] for enemy names substitution
    while $names_DB.has_name?(text)
      name = $names_DB.extract_name(text)
      index = $names_DB.name_index(name).to_s
      text.gsub!(name, "\016[#{index}]")
    end

    # \017[english] for existing English names
    for i in 0..($game_party.actors.length-1)
      name = $game_party.actors[i].name
      text.gsub!(name, "\017[#{i}]")
    end
   
   
   
    # 便宜上、"\\\\" を "\000" に変換
    text.gsub!(/\\\\/) { "\000" }
    # "\\C" を "\001" に、"\\G" を "\002" に変換
    text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
    text.gsub!(/\\[Gg]/) { "\002" }
   

   
    # c に 1 文字を取得 (文字が取得できなくなるまでループ)
    while ((c = text.slice!(/./m)) != nil)
   
      # bwa ah ah  ʕ ◠ᴥ◠ʔ
      if c == "\016"
        text.sub!(/\[([0-9]+)\]/, "")
        index = $1.to_i
        name = $names_DB.eng[index] #are spaces needed?
        self.contents.draw_text(4 + x, 24 * y, self.contents.text_size(name).width, 32, name)
        x += self.contents.text_size(name).width
        next
      end
      if c == "\017" #now for party members who can't be renamed
        text.sub!(/\[([0-9]+)\]/, "")
        index = $1.to_i
        name = $game_party.actors[index].name
        self.contents.draw_text(4 + x, 24 * y, self.contents.text_size(name).width, 32, name)
        x += self.contents.text_size(name).width
        next
      end
      if c == "\020" #for skills - RPG::Skill::message()
        text.sub!(/\[([0-9]+)\]/, "")
        index = $1.to_i
        name = "『#{$data_skills[index].UK_name}』"
        self.contents.draw_text(4 + x, 24 * y, self.contents.text_size(name).width, 32, name)
        x += self.contents.text_size(name).width
        next
      end


      # \\ の場合
      if c == "\000"
        # 本来の文字に戻す
        c = "\\"
      end
      # \C[n] の場合
      if c == "\001"
        # 文字色を変更
        text.sub!(/\[([0-9]+)\]/, "")
        color = $1.to_i
        if color >= 0 and color <= 7
          self.contents.font.color = text_color(color)
        end
        # 次の文字へ
        next
      end
      if c == "\H"
        heart = RPG::Cache.picture("heart")
        self.contents.blt(x + 6 , 24 * y + 10, heart, Rect.new(0, 0, 16, 16))
        x += 16
        # 次の文字へ
        next
      end
      # ウェイト文字(長時間)の場合
      if c == "\ɯ"
        # ウェイトを入れる
        case $game_system.ms_skip_mode
        when 3 #手動送りモード
          @wait_count = 1
        when 2 #デバッグモード
          @wait_count = 3
        when 1 #快速モード
          @wait_count = 4
        else
          @wait_count = ($game_system.battle_speed_time(1) * 3)
        end
        $game_temp.battle_log_wait_flag = true
        # 今の座標を維持して返す
        @keep_flag = true
        @last_x = x
        @last_y = y
        return
      end
      # ウェイト文字(短時間)の場合
      if c == "\ɱ"
        # ウェイトを入れる
        case $game_system.ms_skip_mode
        when 3 #手動送りモード
          @wait_count = 1
        when 2 #デバッグモード
          @wait_count = 1
        when 1 #快速モード
          @wait_count = 2
        else
          @wait_count = $game_system.battle_speed_time(1)
        end
        $game_temp.battle_log_wait_flag = true
        # 今の座標を維持して返す
        @keep_flag = true
        @last_x = x
        @last_y = y
        return
      end
      # ウェイト文字(システム)の場合
      if c == "\ȳ"
        # ウェイトを入れる
        case $game_system.ms_skip_mode
        when 3 #手動送りモード
          @wait_count = 1
        when 2 #デバッグモード
          @wait_count = 8
        when 1 #快速モード
          @wait_count = 12
        else
          @wait_count = $game_system.battle_speed_time(0)
        end
        $game_temp.battle_log_wait_flag = true
        # 今の座標を維持して返す
        @keep_flag = true
        @last_x = x
        @last_y = y
        return
      end
      # 改行文字の場合
      if c == "\n"
        # y に 1 を加算
        y += 1
        x = 0
        @keep_flag = true
        @last_x = x
        @last_y = y
        # バックログに改行指定を追加
        $game_temp.battle_back_log += "\n"
        # ログがいっぱいならクリアフラグを入れて返す
        if y > 3 #and text != ""
#          if Input.trigger?(Input::C)
            @clear_flag = true
            $game_temp.battle_log_wait_flag = true
            @keep_flag = false
            #★手動送りの場合のみステイフラグを入れる
            if $game_system.system_read_mode == 0
              @stay_flag = true
            end
            case $game_system.ms_skip_mode
            when 3 #手動送りモード
              @wait_count = 4
            when 2 #デバッグモード
              @wait_count = 8
            when 1 #快速モード
              @wait_count = 12
            else
              @wait_count = $game_system.battle_speed_time(0) + $game_system.important_wait_time
            end
#          end
          return
        end
        # 次の文字へ
        next
      end
      # 手動改行文字の場合
      if c == "\q"
        # y に 1 を加算
        y += 1
        x = 0
        @keep_flag = true
        @last_x = x
        @last_y = y
        #★手動送りの場合のみステイフラグを入れる
        if $game_system.system_read_mode == 0
          @stay_flag = true
          @wait_count = 2 #戦闘メッセージ表示不良解消/1904skMOD
          $game_temp.battle_log_wait_flag = true #1904skMOD
        end
        # バックログに改行指定を追加
        $game_temp.battle_back_log += "\n"
        # ログがいっぱいならクリアフラグを入れて返す
        if y > 3 #and text != ""
#          if Input.trigger?(Input::C)
            @clear_flag = true
            $game_temp.battle_log_wait_flag = true
            @keep_flag = false
            case $game_system.ms_skip_mode
            when 3 #手動送りモード
              @wait_count = 4
            when 2 #デバッグモード
              @wait_count = 8
            when 1 #快速モード
              @wait_count = 12
            else
              @wait_count = $game_system.battle_speed_time(0) + $game_system.important_wait_time
            end
#          end
          return
#        elsif y > 3 and text == ""
#          @stay_flag = false
        end
        # 次の文字へ
        if $game_system.system_read_mode == 0
          return
        else
          next
        end
      end
      # 文字を描画
#      self.contents.font.name = ["メイリオ"]
      self.contents.draw_text(4 + x, 24 * y, 40, 32, c)
      # x に描画した文字の幅を加算
      x += self.contents.text_size(c).width #+ 2
      # デバッグ用、横文字数確認
      if 4 + x > self.contents.width and $DEBUG
        Audio.se_play("Audio/SE/069-Animal04", 80, 100)
        print "エラー:この行は横文字数を超過しています。\n文字数:#{(x/14)-1}/26 横幅:#{4 + x}/#{self.contents.width}"
      end
      # バックログに文字を追加
      $game_temp.battle_back_log += c
    end
    self.visible = true
    @bgframe_sprite.visible = true
  end

I copied Skilltext to 魔_English_MOD_RPG_Skilltext.rb and batch replaced all occurrences of \w and \m with their respective characters, but there's more elsewhere that need to be batch replaced that I'm not sure of.

Edit:

Also I'm curious about your thoughts on formatting for skilltext? The premess string is basically entirely designed around Japanese which makes it a bit weird but I'm also not sure how to format it myself. For example, here's how fully translated skilltext looks (ignore the Japanese name):

LrBJc1N[1].png

Thoughts on how this could be formatted? Have you checked out Skilltext and had any ideas about this before, specifically with premess?
 
Last edited:

xRoguex

Member
Joined
Sep 26, 2021
Messages
45
Reputation score
12
I did it for me when I started but it wasn't finished so it didn't take me much time to complete it.
There is almost everything in there for the base.rb talk.
 

Attachments

Strange

Demon Girl Pro
Joined
Jul 24, 2014
Messages
1,256
Reputation score
486
That's fair, I hadn't considered being unable to break up
A few of us are hopelessly romantic. Mind you, I still don't intend to abandon SR 😁
You gave me a few pointers on how to reduce the code legth in some cases (ie an upstream sub) but for most of them...

On another note, I've been keeping "Onii-san", etc. inside the translation. After some back-and-forth with myself, I think the more popular opinion would be to leave those those names alone
Absolutely. I like the jp feel myself, and some ideas are simply impossible to convey without using them. Go wild!

Also, maybe I'm not following, but the splice affects more than just what I've changed in the BattleLog class (which is literally just swapping the character checks). The rest is the same as what you have now (or should be). However, there's still "w" and "m" (and presumably "y") characters still showing up because they weren't appropriately batch replaced somewhere. I don't know which files are causing the issue as I haven't dug into it yet. Was assuming you'd already batch-replaced them.
Aye, that'll be my job. They insert extra characters every now and them; but in fewer places than I thought, which is good.
 

Strange

Demon Girl Pro
Joined
Jul 24, 2014
Messages
1,256
Reputation score
486
Thoughts on how this could be formatted? Have you checked out Skilltext and had any ideas about this before, specifically with premess?
I'd remove the premess formatting. Usually they go:
premess + "、\n\m#{targetname}のactiontext"
That's a newline for nothing, and a wait(\w) where it doesn't belong in English. If you're using word wrap, it's better to keep a good 1-2 lines for the entire action. The result, consequences, combos, etc. will be processed afterwards all the same -> take out the \n\m, use a ɯ or the shorter wait in case you do want to emphasize/delay the next text. If the target.name isn't too long, it's better for the action to take only 1 line. And alternatively, Ruby can measure the resulting bitmap width, which is usually more accurate.
(still searching for that silly @ speaker windows :confused:)

Regarding Marshal - because I just stumbled upon it:
RPGMXP tech manual said:
load_data(filename)
Loads the data file indicated by filename and restores the object.
$data_actors = load_data("Data/Actors.rxdata")
This function is essentially the same as: File.open(filename, "rb") { |f|
obj = Marshal.load(f)
}
However, it differs in that it can load files from within encrypted archives.
I pretty much always use load_data so I never paid attention; is that perhaps related to your issue?

PS: 3-> I'm such an idiot: of course it was in the very first place I had checked! "class Window_Message". Names will now be auto-translated from my database, exactly like my \016 party trick. Including the dialogue, speaker, etc. (assuming they are in the database. Lowratt, was it? 😅)
 
Last edited:
OP
WitheredGryphon
Joined
Sep 21, 2020
Messages
81
Reputation score
39
I'd remove the premess formatting. Usually they go:
premess + "、\n\m#{targetname}のactiontext"
That's a newline for nothing, and a wait(\w) where it doesn't belong in English. If you're using word wrap, it's better to keep a good 1-2 lines for the entire action. The result, consequences, combos, etc. will be processed afterwards all the same -> take out the \n\m, use a ɯ or the shorter wait in case you do want to emphasize/delay the next text. If the target.name isn't too long, it's better for the action to take only 1 line. And alternatively, Ruby can measure the resulting bitmap width, which is usually more accurate.)
This is unfortunately impossible for some lines (or, actually, many lines). For example:

action = premess + "#{held} shared a kiss with #{targetname}!"

With this line, in a best case scenario where #{held} = "", the character count can reach up to 45 characters assuming the protagonist has a 9 character name: "Lauratttt shared a kiss with Lesser Succubus!"
In a worst case scenario... "Lauratttt, shifting their position, shared a kiss with Lesser Succubus!" - 71 characters. It's simply impossible to fit on one line.

I can try to maneuver around for every scenario, e.g. by inserting a linebreak on #{held} here resulting in:
Lauratttt, shifting their position,​
shared a kiss with Lesser Succubus!​

It's less than ideal on my end since it's hard to visualize the formatting (some of these lines are really difficult to get to show up...) so if there's alternative ideas / suggestions I'm open to them.
Example screenshots of the new formatting in action, though:

zdjsAC9[1].png 5OTzWDW[1].png

Regarding Marshal - because I just stumbled upon it:
I pretty much always use load_data so I never paid attention; is that perhaps related to your issue?
Like I said, I already resolved the problem. The mod adds a default_proc to Game_SelfSwitches.rb in the form of @extend_data:
Ruby:
  def initialize
    @data = {}
    @extend_data = Hash.new { |h, i| h[i] = {} }
  end
Marshal cannot dump hashes with default_procs. As far as I can tell, the only thing this proc does is set values of unknown keys in the hash to {}. So I changed this to:

Ruby:
  def initialize
    @data = {}
    @extend_data = Hash.new ( {} )
  end
Which, as far as I'm aware in Ruby, does the same thing without a proc and fixes the problem.

Edit:

I've also had this line in Force_English.rb trip several times. It doesn't crash the game but I don't think it should be tripping:
p "試行上限なので回避策実行" if $DEBUG

Any idea what this is, or have you seen it happen before, Strange?
 
Last edited:

xRoguex

Member
Joined
Sep 26, 2021
Messages
45
Reputation score
12
This is unfortunately impossible for some lines (or, actually, many lines). For example:

action = premess + "#{held} shared a kiss with #{targetname}!"

With this line, in a best case scenario where #{held} = "", the character count can reach up to 45 characters assuming the protagonist has a 9 character name: "Lauratttt shared a kiss with Lesser Succubus!"
In a worst case scenario... "Lauratttt, shifting their position, shared a kiss with Lesser Succubus!" - 71 characters. It's simply impossible to fit on one line.

I can try to maneuver around for every scenario, e.g. by inserting a linebreak on #{held} here resulting in:
Lauratttt, shifting their position,​
shared a kiss with Lesser Succubus!​

It's less than ideal on my end since it's hard to visualize the formatting (some of these lines are really difficult to get to show up...) so if there's alternative ideas / suggestions I'm open to them.
Example screenshots of the new formatting in action, though:

View attachment 44856View attachment 44857



Like I said, I already resolved the problem. The mod adds a default_proc to Game_SelfSwitches.rb in the form of @extend_data:
Ruby:
  def initialize
    @data = {}
    @extend_data = Hash.new { |h, i| h[i] = {} }
  end
Marshal cannot dump hashes with default_procs. As far as I can tell, the only thing this proc does is set values of unknown keys in the hash to {}. So I changed this to:

Ruby:
  def initialize
    @data = {}
    @extend_data = Hash.new ( {} )
  end
Which, as far as I'm aware in Ruby, does the same thing without a proc and fixes the problem.
If the text is too long and you want too keep all the words, can't you add a [tx2] and write the rest? This should be add a new page and i think it should be fine. If is possible ofc.

EDIT: If is only a line that long when i tried myself i could keep 4 lines instead of 3 and there wasn't text cut or something like this
 
Last edited:

Serifyn

Tentacle God
Joined
Nov 10, 2010
Messages
1,391
Reputation score
340
Really appreciate your work on this, i've waited for so long. That said, downloading new programs is pretty daunting though i suppose theres no way around it since the game's code is trash.
 

Strange

Demon Girl Pro
Joined
Jul 24, 2014
Messages
1,256
Reputation score
486
Any idea what this is, or have you seen it happen before, Strange?
Aye, this is an old one.
The modders made way too many checks for this or that situation, with new skills becoming conditionally available; this 'error' prompts the succubus to use a default move. 300 is way too high IMO. There are a couple annoying others (missing dialogues reports, etc).
Ref: start of the loop -> # 発動不可なスキルの場合、発動可能なものが出るまで選び直し

The mods were tailored for fully leveled (50-80+) succubi. You'd get this more often with vanilla LvL 5 girls.
Anwyay you're not supposed to play in DEBUG mode (I always do but...). I'll triple-check we share no file turning it on; oc we don't want new players running into that. Write $DEBUG = false at the end of your very last rb file, abc order, and these won't bother you again.

Your example is relatively easy:
Ruby:
      when 81    #キッス ##### this was abbreviated ######
        held = ""
        if myself.holding?
          held = " shifted position and\ɱ\n" #backslash not needed in \ɱ
        end
          action = premess + held + "、exchanged a kiss with #{targetname}!"
But it can become much, much more complicated; and case-by-case takes time. We don't want that.
In any case the return is line 6662 and not earlier. You could ignore newlines completely in the file, and make your real lines here. As another temporary measure, you could decide an arbitrary letters count, and insert a \n in the nearest whitespace should action.length exceed the threshold. In short: don't worry too much.

If the battlers' names are a concern(they are!), you can use (lines 19-21):
myname = $names_DB.to_eng(myself.name)
username = $names_DB.to_eng(user.name)
skill_name = skill.UK_name#.split(/\//)[0]
Not too efficient, but that'll work until I finally implement UK_name for any and all battlers. If even necessary.
PS: I'd suggest you copy all of skilltext to notepad++, and mass replace (normal text) \m, \w, \y to our friendly \ɱ, \ɯ, \ȳ. If anything goes south (it won't!) we can always revert them.

I also noticed the default font was a crappy one (for Latin characters). We have:
$default_font = ["メイリオ","MS Pゴシック"]
I'll make MS Pゴシック the default one if you don't mind. It's not that great, but looks way better. Was SQ's font too.
Ruby:
$default_font = ["MS Pゴシック"]
$default_size = 16
$default_size_mini = 13
$default_size_s_mini = 11
That will change the battle display a lot. So feel free to adjust the sizes if necessary. They say, bigger is better; and for once, my eyes agree.

PPS: the code ain't trash! :mad: It's called vintage!
 
Last edited:
Top