VoreDBS [VX ACE] (Script in Demo)

Forum for the Vore games, and other downloads
Forum rules
For instruction on how to add games to our download section, click here

VoreDBS [VX ACE] (Script in Demo)

Postby polyedit2000 » Sun Dec 15, 2019 12:18 am

Image
Demo Link: http://www.mediafire.com/file/1kzrt2s4ea8i4e9/VDBS2.zip/file (Old)
Updated Script
Yanfly Battle Engine Version (place after Yanfly)

So, this is the Vore DBS. This is my take on a Vore Battle System (for VX Ace)

Features:
-At the basis, applying the Vore state to your target automatically makes you (the caster) the pred. The target can only target the belly while other allies won't be able to access you.
-Both sides of the party can vore each other. In fact, you can have a vorgy or set up vore before combat.
-A lot of tags to customize your game (which is why I made this demo).

Example Tags:
- Preds that can eat multiple prey.
- Turns/Removal Resistance/Removal By Damage unique to each pred.
- Digestion, Resistance and Rewards from Digestion.
- States active when full to prey and pred, state applied upon exit.
- Battler Graphics (Actor graphics optional)
- Vore-Dependent Skills, Belly-Targeting skills, Belly-Enhancing Skills

Update:
1-11-20 - Fixed targeting on party. Also uploaded Yanfly Battle Engine version. Fixed One Ally/Target Belly bug and solo bellies. Because Yanfly uses faces, one line erased from that version to prevent battler/face conflicts when using tags.
1-9-20 - Fixed a bug of massive damage when prey dies before digestion. Also incorporated Healgestion (Allies immune to digestion and heals pred), Finish Anime (Animation plays when prey dies in belly), and Digestion Switches (Turn on switches/variables, game
1-5-20 - Some Add-Ons (see below posts)
12-15-19 - Fixes to script (Damage does not exponentially shrink, Digestion's healing works as intended), 5 example battles (talk to all healers to find them).
12-14-19 - Battler Graphics streamlined, more tags added.
12-13-19 - Demo released.

Addons: Place these Snippets after Vore DBS
(Note that these snippets weren't designed to work together, so let me know if you need to combine any of them.)
Percentage/Formula Digestion
Formula Digestion (Simpler)

History:
-Right, so I ended up playing a Vore RPG, probably 2003. I also experimented with Kirby in the same era.
-Way later, played games like Esthe Hunter. Started to notice that Vore games were either single-player (easier interactions) or heavily evented.
-When making a Bondage Movement System, also tried to make a Vore Action Battle System.
-Converted parts of the Vore ABS into a Vore DBS, using State Charges as a holder. It works, but script took up multiple pages and was made only with enemy-preds.
-Later again, got the idea to use State Casters and streamlined the code. Have been adding more features to it until now.

Co-Credit:
Himeworks - Directly for the State Casters, indirectly for the State Faces converted into State Battlers.
Last edited by polyedit2000 on Sat Jan 11, 2020 7:48 pm, edited 13 times in total.
User avatar
polyedit2000
Participator
 
Posts: 267
Joined: Fri Dec 23, 2005 12:00 am

Re: VoreDBS

Postby sweetladyamy » Sun Dec 15, 2019 1:16 am

Looks cool. Hopefully, this will find a decent amount of use.
Amyrakunejo, Heiress of Purity

Philosophical Pagan Anarchist Femme Fair Gamer Lesbian Metalhead Chick
User avatar
sweetladyamy
---
 
Posts: 1259
Joined: Wed May 22, 2013 4:14 pm
Location: Eleven inches down her gullet, digesting... ♥

Re: VoreDBS

Postby TheFetishBeast » Sun Dec 15, 2019 1:43 am

Holy ****, I needed this. I needed this so bad. I've been desperately trying to make a vore based battle system for one of my latest projects with absolutely no success and this is going to completely fix that. Thank you so much.
User avatar
TheFetishBeast
Participator
 
Posts: 219
Joined: Sat May 10, 2014 5:02 pm

Re: VoreDBS

Postby SputnikDX » Sun Dec 15, 2019 2:43 am

So this is just a script and not a standalone game?
User avatar
SputnikDX
Participator
 
Posts: 184
Joined: Thu Apr 10, 2008 11:00 pm

Re: VoreDBS

Postby polyedit2000 » Sun Dec 15, 2019 3:18 am

Thank you for your words. This is mainly a demo showcasing the Vore DBS script. (The script is inside the project and can be used). Each battle in the script showcases a tag or two to give you an idea how the tags work. Soon, I will add a few more example battles to show off its capabilities.
User avatar
polyedit2000
Participator
 
Posts: 267
Joined: Fri Dec 23, 2005 12:00 am

Re: VoreDBS

Postby Wolfcrux » Sun Dec 15, 2019 3:55 am

i think this will be extremely useful to new vore games and maybe current games.
pretty great.
Wolfcrux
Been posting for a bit
 
Posts: 37
Joined: Fri Jun 08, 2018 11:55 am

Re: VoreDBS

Postby DroolingPred » Sun Dec 15, 2019 10:07 am

Thank you for your work. Tools like this lower the barrier of entry for creators, and that progresses the whole genre.
DroolingPred
Somewhat familiar
 
Posts: 82
Joined: Sun Feb 04, 2018 9:53 pm

Re: VoreDBS [VX ACE] (Script in Demo)

Postby polyedit2000 » Sun Dec 15, 2019 9:06 pm

Thank you. Anyway, I created a few more battles to show off this script. Because of this, I spotted and fixed a few more issues with the script:
-HP-Required Vore battle's skill is now properly tagged
-Correction to damage (one array caused end damage to be exponentially small)
-Correction to digestion (A sign cased a value to surpass a minimum of 0 instead of decreasing its value downward).
User avatar
polyedit2000
Participator
 
Posts: 267
Joined: Fri Dec 23, 2005 12:00 am

Re: VoreDBS [VX ACE] (Script in Demo)

Postby Unicornwill » Sun Dec 15, 2019 11:28 pm

um... what file is the game's script and how do i edit it?
Unicornwill
New to the forum
 
Posts: 18
Joined: Wed Jan 06, 2016 1:39 am

Re: VoreDBS [VX ACE] (Script in Demo)

Postby polyedit2000 » Mon Dec 16, 2019 11:10 pm

The script is inside the demo. Open up the Game.rvproj2 file with RPG Maker VX Ace, then go to the Script Editor (F11/Paper+Pen icon on bar). It is the only script labeled VDBS.
User avatar
polyedit2000
Participator
 
Posts: 267
Joined: Fri Dec 23, 2005 12:00 am

Re: VoreDBS [VX ACE] (Script in Demo)

Postby TheFetishBeast » Sat Jan 04, 2020 1:17 pm

Okay, so, there's a number of things I wanna accomplish using this script but I either cannot figure out how to do them or they are not featured in the script. I'll make a short list right here.

1: Any way I can get a predator to deal digestion damage at a percentage value? Like, say the prey has 500 HP and the predator deals 20% digestion damage. This would result in the prey losing 100 HP every turn. Is this possible?

2: Any way I can get an actor to be removed from the party upon being digested? In addition to that, how could I go about getting a game over if a specific actor is digested?

3: Can I get a predator to deal digestion damage according to one of its stats? Like, ATK for example. Maybe something similar to the damage formula?

Any way these things can be accomplished with the script as is? If not, any chance they could be added as features? Thanks in advance.
User avatar
TheFetishBeast
Participator
 
Posts: 219
Joined: Sat May 10, 2014 5:02 pm

Re: VoreDBS [VX ACE] (Script in Demo)

Postby polyedit2000 » Sat Jan 04, 2020 1:54 pm

At the moment, those features aren't in the script. I will experiment to see if they are possible.

1 and 3 are similar: The digestion takes place in regenerate_all, getting their numbers from vore_digest and digest_adjust (pred and prey). Currently, this would take the sum (with safeties to prevent healgestion unless the target purposely does so. Number 3, I'll have to study Himework's Formula Effect.

I remember when I did a VABS experiment that I could leave people behind if I didn't free them before leaving the map, giving them a variable based on map ID if I had to find their bodies later. I will probably use the same principle here, so you can trigger a common event (or a switch).

I will drop them later as add-on scripts.
User avatar
polyedit2000
Participator
 
Posts: 267
Joined: Fri Dec 23, 2005 12:00 am

Re: VoreDBS [VX ACE] (Script in Demo)

Postby polyedit2000 » Sun Jan 05, 2020 4:48 am

Snippet for %-based Digestion. Same tag as regular Digest.
Code: Select all
class Game_Battler < Game_BattlerBase
  def vore_digest(prey)
    sam = actor? ? actor.voredigest : enemy.voredigest
    sam[0] += prey.digest_adjust(true)[0]
    sam[1] += prey.digest_adjust(true)[1]
    bob = prey.digest_adjust
    @states.each do |i|
      bob[0] += $data_states[i].voredigest[0]
      bob[1] += $data_states[i].voredigest[1]
    end
    if actor?
      armors.each do |a|
        bob[0] += a.voredigest[0]
        bob[1] += a.voredigest[1]
      end
      weapons.each do |w|
        bob[0] += w.voredigest[0]
        bob[1] += w.voredigest[1]
      end
      sam[0] += self.class.voredigest[0]
      sam[1] += self.class.voredigest[1]
    end
    bob[0] = (sam[0] > 0 ? [sam[0] + bob[0], 0].max : [sam[0] + bob[0], 0].min)
    bob[1] = (sam[1] > 0 ? [sam[1] + bob[1], 0].max : [sam[1] + bob[1], 0].min)
    bob[0] = bob[0].to_f * 0.01 * prey.mhp
    bob[1] = bob[1].to_f * 0.01 * prey.mmp
    return bob
  end
end


Snippet for Formula-based digestion (a = pred, b = prey). For clarity, the tags have been split into <DigestHP: formula> and <DigestMP: formula>. You still have to use negative amounts to remove HP.
Code: Select all
module RPG
  class BaseItem
    def voredigest(pred,prey)
      bob = ["0","0"]
      res = self.note.match(/<DigestHP:\s*(.*?)\s*>/i)
      bob[0] = res[1].to_s if res
      bob[0] = eval_digest(bob[0], pred, prey).to_i
      res2 = self.note.match(/<DigestMP:\s*(.*?)\s*>/i)
      bob[1] = res2[1].to_s if res2
      bob[1] = eval_digest(bob[1], pred, prey).to_i
      return bob
    end
    def digestadjust(pred,prey)
      bob = ["0","0"]
      res = self.note.match(/<PreyDigestHP:\s*(.*?)\s*>/i)
      bob[0] = res[1].to_s if res
      bob[0] = eval_digest(bob[0], pred, prey).to_i
      res2 = self.note.match(/<PreyDigestMP:\s*(.*?)\s*>/i)
      bob[1] = res2[1].to_s if res2
      bob[1] = eval_digest(bob[1], pred, prey).to_i
      return bob
    end
    def eval_digest(formula, a, b, p=$game_party, t=$game_troop, v=$game_variables, s=$game_switches)
      bob = eval(formula)
    end 
  end
end

class Game_Battler < Game_BattlerBase
 
  def vore_digest(prey)
    sam = actor? ? actor.voredigest(self, prey) : enemy.voredigest(self, prey)
    sam[0] += prey.digest_adjust(true)[0]
    sam[1] += prey.digest_adjust(true)[1]
    bob = prey.digest_adjust
    @states.each do |i|
      bob[0] += $data_states[i].voredigest(self, prey)[0]
      bob[1] += $data_states[i].voredigest(self, prey)[1]
    end
    if actor?
      armors.each do |a|
        bob[0] += a.voredigest(self, prey)[0]
        bob[1] += a.voredigest(self, prey)[1]
      end
      weapons.each do |w|
        bob[0] += w.voredigest(self, prey)[0]
        bob[1] += w.voredigest(self, prey)[1]
      end
      sam[0] += self.class.voredigest(self, prey)[0]
      sam[1] += self.class.voredigest(self, prey)[1]
    end
    bob[0] = (sam[0] > 0 ? [sam[0] + bob[0], 0].max : [sam[0] + bob[0], 0].min)
    bob[1] = (sam[1] > 0 ? [sam[1] + bob[1], 0].max : [sam[1] + bob[1], 0].min)
    return bob
  end
 
  def digest_adjust(initial = false)
    pred = (state?(DL::VORE::VORESTATE) ? state_casters[DL::VORE::VORESTATE] : self)
    sam = actor? ? actor.digestadjust(pred,self) : enemy.digestadjust(pred,self)
    bob = [0,0]
    @states.each do |i|
      bob[0] += $data_states[i].digestadjust(pred,self)[0]
      bob[1] += $data_states[i].digestadjust(pred,self)[1]
    end
    if actor?
      armors.each do |a|
        bob[0] += a.digestadjust(pred,self)[0]
        bob[1] += a.digestadjust(pred,self)[1]
      end
      weapons.each do |w|
        bob[0] += w.digestadjust(pred,self)[0]
        bob[1] += w.digestadjust(pred,self)[1]
      end
      sam[0] += self.class.digestadjust(pred,self)[0]
      sam[1] += self.class.digestadjust(pred,self)[1]
    end
    return (initial ? sam : bob)
  end
end


I'm having a bit of issue with #2 (Removal/GameOver on Digestion Death). A) Removing the whole party will give you an empty party rather than triggering a K.O. B) If the GameOverOnDigestion person is last, they would trigger a normal defeat instead of the Game Over transfer. I will work on this some more.
Last edited by polyedit2000 on Sun Jan 05, 2020 12:39 pm, edited 1 time in total.
User avatar
polyedit2000
Participator
 
Posts: 267
Joined: Fri Dec 23, 2005 12:00 am

Re: VoreDBS [VX ACE] (Script in Demo)

Postby DollyFailFail » Sun Jan 05, 2020 6:50 am

Perhaps it just doesn't remove the last surviving person in the party?
Heyyyy! I don't think we've met before. I'm just your average Punk Girl ehehehe!!
User avatar
DollyFailFail
Intermediate Vorarephile
 
Posts: 419
Joined: Mon Dec 31, 2012 12:07 pm

Re: VoreDBS [VX ACE] (Script in Demo)

Postby polyedit2000 » Sun Jan 05, 2020 1:16 pm

This is what I got for stuff after digestion (all on prey):

<DigestSwitch: x>
Turns on a switch x when digested to death.

<DigestVariable: x type>
Adjusts a variable depending on the type:
1- Adds 1 to variable x.
2- Subtracts 1 from variable x.
3- Variable X is assigned the current map id.
4- Variable X is assigned the pred's id
5- Variable X is reset to 0.

<DigestRemove>
If this actor dies, remove actor. Except for the last person, who will be alive to trigger Defeat; set REMOVEFORCUTSCENE to true to make this person invisible after battle. (If all actors removed otherwise, this activates Abort which does not trigger Defeat)

<DigestGameOver>
If this actor dies, run Defeat.

This snippet is now part of the updated script

Also, failbird, you earlier asked me for a snippet. I apologize that I just got around to doing it now:

Tags are <HealgestionHP: formula> and <HealgestionMP: formula> on prey. Using one of these tags will negate digestion if eaten by an ally.

This snippet is now part of the updated script
Last edited by polyedit2000 on Thu Jan 09, 2020 11:46 pm, edited 1 time in total.
User avatar
polyedit2000
Participator
 
Posts: 267
Joined: Fri Dec 23, 2005 12:00 am

Re: VoreDBS [VX ACE] (Script in Demo)

Postby paperairplaneclip » Mon Jan 06, 2020 3:23 am

Hopefully this gets more attention! This is amazing for anyone working on an RPG :)
Are MV and Ace too different for this to be used with MV as well?
All of my videos (OLD AND NEW ONES!) can be found here! https://www.patreon.com/Paperairplaneclip Support me if you like, all the content is still free!
User avatar
paperairplaneclip
Intermediate Vorarephile
 
Posts: 370
Joined: Sat Sep 13, 2014 11:17 pm

Re: VoreDBS [VX ACE] (Script in Demo)

Postby polyedit2000 » Mon Jan 06, 2020 1:21 pm

Ace uses Ruby and MV uses Java(), so you can't just paste this in MV. Granted, the structures of both programming languages are almost similar, so one day this may be converted to MV.
User avatar
polyedit2000
Participator
 
Posts: 267
Joined: Fri Dec 23, 2005 12:00 am

Re: VoreDBS [VX ACE] (Script in Demo)

Postby TheFetishBeast » Tue Jan 07, 2020 10:03 am

Okay, I've given these snippets a little bit of a try now (Which, thanks a lot for them by the way) and I've come across one particular issue. It's regarding the 'formula-based digestion'. As a simple example, predator uses attack to deal digestion damage to the prey while the prey uses defence to reduce the damage received (The basic 'a.atk * 4 - b.def * 2' formula except in the negative values as you've stated). The problem with this is that the prey's defence might be so strong that the predator might end up healing the prey instead. Well, naturally, we don't want that so I was hoping you could make an edit to the snippet so that the minimum amount of damage dealt to the prey is 0 (Or maybe 1? Or maybe something the user could edit themselves?). Thanks a lot.
User avatar
TheFetishBeast
Participator
 
Posts: 219
Joined: Sat May 10, 2014 5:02 pm

Re: VoreDBS [VX ACE] (Script in Demo)

Postby polyedit2000 » Tue Jan 07, 2020 5:37 pm

Apologies. The original Digestion was static, so it assumed that if you wanted digestion, the starting amount (on enemy or on actor/class) would be negative (so if you have -50 digestion and a state that negates 100 digestion, it'll max out at zero). I wrote it this way in case people wanted a healing type of digestion.

Because of this, there wasn't really a minimum if the base digestion was dynamic. You could simply place [formula, 0].min to keep the digestion from going above zero and into healing. However, here's the edit of the Formula Digestion snippet with two differences:
1. The minimum digestion damage is 0.
2. To simplify the formula, a positive result equals damage.

Code: Select all
module RPG
  class BaseItem
    def voredigest(pred,prey)
      bob = ["0","0"]
      res = self.note.match(/<DigestHP:\s*(.*?)\s*>/i)
      bob[0] = res[1].to_s if res
      bob[0] = eval_digest(bob[0], pred, prey).to_i
      res2 = self.note.match(/<DigestMP:\s*(.*?)\s*>/i)
      bob[1] = res2[1].to_s if res2
      bob[1] = eval_digest(bob[1], pred, prey).to_i
      return bob
    end
    def digestadjust(pred,prey)
      bob = ["0","0"]
      res = self.note.match(/<PreyDigestHP:\s*(.*?)\s*>/i)
      bob[0] = res[1].to_s if res
      bob[0] = eval_digest(bob[0], pred, prey).to_i
      res2 = self.note.match(/<PreyDigestMP:\s*(.*?)\s*>/i)
      bob[1] = res2[1].to_s if res2
      bob[1] = eval_digest(bob[1], pred, prey).to_i
      return bob
    end
    def eval_digest(formula, a, b, p=$game_party, t=$game_troop, v=$game_variables, s=$game_switches)
      bob = eval(formula)
    end
  end
end

class Game_Battler < Game_BattlerBase

  def vore_digest(prey)
    sam = actor? ? actor.voredigest(self, prey) : enemy.voredigest(self, prey)
    sam[0] += prey.digest_adjust(true)[0]
    sam[1] += prey.digest_adjust(true)[1]
    bob = prey.digest_adjust
    @states.each do |i|
      bob[0] += $data_states[i].voredigest(self, prey)[0]
      bob[1] += $data_states[i].voredigest(self, prey)[1]
    end
    if actor?
      armors.each do |a|
        bob[0] += a.voredigest(self, prey)[0]
        bob[1] += a.voredigest(self, prey)[1]
      end
      weapons.each do |w|
        bob[0] += w.voredigest(self, prey)[0]
        bob[1] += w.voredigest(self, prey)[1]
      end
      sam[0] += self.class.voredigest(self, prey)[0]
      sam[1] += self.class.voredigest(self, prey)[1]
    end
    bob[0] = -1 * [sam[0] + bob[0], 0].max
    bob[1] = -1 * [sam[1] + bob[1], 0].max
    return bob
  end

  def digest_adjust(initial = false)
    pred = (state?(DL::VORE::VORESTATE) ? state_casters[DL::VORE::VORESTATE] : self)
    sam = actor? ? actor.digestadjust(pred,self) : enemy.digestadjust(pred,self)
    bob = [0,0]
    @states.each do |i|
      bob[0] += $data_states[i].digestadjust(pred,self)[0]
      bob[1] += $data_states[i].digestadjust(pred,self)[1]
    end
    if actor?
      armors.each do |a|
        bob[0] += a.digestadjust(pred,self)[0]
        bob[1] += a.digestadjust(pred,self)[1]
      end
      weapons.each do |w|
        bob[0] += w.digestadjust(pred,self)[0]
        bob[1] += w.digestadjust(pred,self)[1]
      end
      sam[0] += self.class.digestadjust(pred,self)[0]
      sam[1] += self.class.digestadjust(pred,self)[1]
    end
    return (initial ? sam : bob)
  end
end
User avatar
polyedit2000
Participator
 
Posts: 267
Joined: Fri Dec 23, 2005 12:00 am

Re: VoreDBS [VX ACE] (Script in Demo)

Postby paperairplaneclip » Wed Jan 08, 2020 10:01 pm

Hey what's up, so, quick question.
After looking at my previous post that basically said "someone do something with this lul", I decided to pick up RPG Maker myself instead, and I've been using your script to learn the basics along with video tutorials.

Now, for the question part, I'm trying to add a burp/fart type animation when the character dies of digestion in the belly of an enemy.
Is it possible to do that with your script? I've already figured out the swallow animation and digest animation (Got a cool little animation and sound happening every time a pred digests or swallows someone!)

I've tried using the poop part of <VoreAnime x x x x x>, but it doesn't seem to work, and I figure it's only for when the character escapes alive, rather than dying, is that correct?

Your script is awesome honestly, thanks a lot!!
All of my videos (OLD AND NEW ONES!) can be found here! https://www.patreon.com/Paperairplaneclip Support me if you like, all the content is still free!
User avatar
paperairplaneclip
Intermediate Vorarephile
 
Posts: 370
Joined: Sat Sep 13, 2014 11:17 pm

Next

Return to Vore game

Who is online

Users browsing this forum: AngryWrath, Asafen, BunBlaire, callss9932, camoninja22, Cyberneticous, Darkness121, Grapefruitswordsman, Happenpeak, Hristo5432, Jondo, kol86, meaning4, metalman777, mtmmtm, Norio, PotatoFarmer, PrettyUniqueKink, Seifens, Voreakin, WagStick, WaywardWriterRyu, whatif12, xzw