Valkyrie Profile Team System

● ARCHIVED · READ-ONLY
Started by Fimbulvinter 12 posts View original ↗
  1. ok, I'm making a game using cadavers, and think Valkyrie Profile's system would work beautifully in my game.  I'd like to recreate parts of it, and hoping it would be possible to do without scripting:

    I want Character 1 to be an unremovable party member (simple enough, I've seen scripts that do this.)

    I want the game to give a 3 turn counter if Chara 1 dies - after said counter, Game Over.  Also, reviving Chara1 or ending the battle will reset the counter

    I want Chara 1 to be immune to the common revival item (there will be a rare/expensive one that works on him).

    the last one, I think, may be possible by giving the revival item an element, and making him immune to said element...but I'm not entirely sure.  the second one has be befuddled, though - I assuming it'll have something to do with variables, though...
  2. The first request you have covered.

    The second one can be done with battle events.

    You can set a variable to rise at the end of each turn that the main character is KO'd and have an event that ends the game when that variable hits 3.

    (You might also want to make a parallel process that resets the variable to 0 and revives the main character while on the map.)

    The last one can be done using the damage formula.

    Instead of using the editor to add the effects of an item/spell, just go to the damage formula and type what you need (with conditions).

    (It might also be easier for you to have the item trigger a common event instead, but that's up to you.)

    If you need more details for this, let me know.

    Good luck.
  3. ok, so 3 would likely be something like "if b.id==1;0;else;b.remove_state(1) 25% ;end;" with healing ticked, and all that jazz...I think that's about right...

    as for #2, what about resetting that variable when Chara1 is revived? this one is now the one that has me thrown for a loop (I don't have to worry about auto-reviving, as Death is going to be somehting that only lasts until end of battle).  Also, since this is a bttle event, I'd have to copy that code into every single battle, wouldn't I?
  4. You'll have to figure out ALL the ways that the char can be revived first, but basically, you can do it in the damage formula as well.

    Just add this to any items/skills that can revive, the main character:

    if b.id == 1; v[x] = 0; end ; b.remove_state(1); b.hp *= b.mhp/4

    (Assuming the main char's ID is 1 and the death state is still 1 in your project.  X is the death count variable's ID)

    This will revive any dead actors and give them 25% of their max HP.

    If will also reset the Death Count to 0 only if the healed actor had an ID of 1.

    Doing it this way should avoid the need to create battle events to reset the timer.

    Edit:I actually just realized you had 4 requests here.

    :)

    That one about not allowing regular revival items to work can also be done via the damage formula.

    First, make the item non-consumable via the database.

    Then, make a conditional that checks if the person being healed is NOT the main.

    Like:

    if !b.id==1; $data_items(y) -= 1; b.remove_state(1); b.hp *= b.mhp/4; end; 0 

    This will do the same revival as above, but ONLY if a char is NOT the main.

    Also, it will remove the item from your inventory.

    (Note that I don't think this is the correct syntax for items.  Please check before you use it.)

    (Note again that all damage formulas MUST end with a number or a value that returns a number, else you'll get errors which is why I have the 0 at the end.)
  5. thanks, there's most of this all figured out...

    now, for #2, the battle events.



    This, I think, would make the counter go up every turn, right?
  6. Span = battle means that the troop event will run once in the entire battle, you need that page as a span=turn as well.
  7. First off, I'd like to echo what Andar said.

    Secondly, I think you need to copy the first set and paste it under the second one.

    As it is right there, the text will display the remaining turns after EVERY turn, regardless of whether Eric is alive.

    Then you also have to set the variable to 3 initially.

    You probably did it already, but if not, you can likely set it somewhere in the opening of your game or during the event that resets it after battle.

    Just don't forget to set it.

    :)
  8. I'm planning on having the variable set to 4 under normal circumstances - that way I can use that same variable to count down my 3-2-1-0 mid-battle, so the player knows how much longer they have left, and if they need to revive/nuke/etc.

    ok, so that's done, and all I need elft is to make a parallel process to set Variable 1 to 4 anytime there's no battle going on, right? it needs a variable, though...

    am I to assume this would work fine?

  9. You'd probably do better to create a parallel process and change the variable there.

    You can set it to run once a switch is on, which you can turn on during your first story event.

    (As far as the event itself is concerned, it looks alright to me.  It just shouldn't be a battle event.) 
  10. awesome, thanks - this'll shoot my game leagues ahead.

    I'll be back if there's any issues, but I don't forsee 'em.
  11. Don't use a Parallel Process.  That's just going to lag up your game for no reason, and you still won't be able to use it to check whether the actor has been revived.

    Set the variable to 4 on Turn 0.  Have your "If Actor 1 is 0HP" event simply turn on a "Countdown Switch" instead of running all that processing.  Place that processing in an each-turn "If Countdown Switch is ON" event, instead... but let's do it a little differently.  The reason for this is that we need to check if the actor was revived and reset the counter if so.  So inside that If Countdown Switch is ON event, try this:

    Page 3: If Countdown Switch is ON (Span: Turn)

    Conditional Branch: If Actor 1 KO is inflicted

    Subtract 1 from Countdown Variable

        Conditional Branch: If Countdown Variable <= 0 (or equals 0, I guess)

        Game Over

        Else

        Message: X turns remain

        End

    Else

    Set Countdown Variable to 4

    Turn Countdown Switch OFF

    End

    Make sense?

    By the way - feel free to put all that event code into a common event that's called using a single "Call Common Event" line from the Troop page, if you'd like, rather than copying the entire block of code into every Troop.
  12. ok, Wavelength, I'll give that a try, see how it works - I plan to have a decent amount of sub-events in many battles, so this could help with clutter too, as well as lag.

    Also, pardon my necroposting, but my "Union Plume" item isn't working.  I'm using the provided formula,

    if b.id==1; $data_items(1) -= 1; b.remove_state(1); b.hp *= b.mhp/4; end; 0

    and I'm getting the following error:

    Script 'Game_Battler' line 352: SyntaxError occured.

    Unexpected '(', expecting keyword_end

    and said line in the script reads as following:

        value = item.damage.eval(user, self, $game_variables)
     

    I haven't modded the scripts at all - I haven't even added anything as of yet.

    Any way I can fix this?