Post new topic    
Slime Knight
Send private message
Disposable Heroes 
 PostWed Dec 10, 2014 9:16 pm
Send private message Reply with quote
Disposable heroes (no, not the awesome Metallica song Kamina)

I am just wondering about putting some kind of temporary ally system into a game. Something a la Earthbound's teddy bear, or the ghosts that optionally join your party in the ghost train of FF6.

A nerd who you could hire for your party, and use until he dies, at which point he is removed from the party with no real consequence.

I've been looking at what would be possible with hero tags, and using them in scripts to add and remove the heroes depending on said tags. If this has already been done and is available somewhere on the forum, I do apologize!
Red Slime
Send private message
Re: Disposable Heroes 
 PostWed Dec 10, 2014 9:30 pm
Send private message Reply with quote
Urkelbot666 wrote:
Disposable heroes (no, not the awesome Metallica song Kamina)

I am just wondering about putting some kind of temporary ally system into a game. Something a la Earthbound's teddy bear, or the ghosts that optionally join your party in the ghost train of FF6.

A nerd who you could hire for your party, and use until he dies, at which point he is removed from the party with no real consequence.

I've been looking at what would be possible with hero tags, and using them in scripts to add and remove the heroes depending on said tags. If this has already been done and is available somewhere on the forum, I do apologize!


Hey, you've probably already read this, but thought I'd post just incase.

http://rpg.hamsterrepublic.com/ohrrpgce/Adding,_Removing,_Swapping,_Heroes

I think your best bet is to create the hero as you would any normal hero and then use the 'remove Hero from party - The specified hero, and all of his/her equipment is deleted, never to be seen again. If you add the hero back again, he/she will start over with initial stats.'

Sorry if you've already read all that.

It does seem entirely possible though.
Liquid Metal Slime
Send private message
 
 PostWed Dec 10, 2014 11:07 pm
Send private message Reply with quote
In addition (although I'm not sure if this is what you're going for) I think there's a "Hire" option that can be added to shop menus within the editor or something like that. Thus if you want to have a pub where you can hire wandering assassins or a special store that builds robot henchmen for hire, then that's also an option. Getting them removed from your party will require a simple bit of coding of course.

What would be really cool is if someone made said robot henchmen shop, then scripted in a step counter that makes the robot breakdown/run out of fuel after 1000 steps for instance. Thus instead of leaving your party the robot is simply abandoned.
⊕ P E R S O N A L M U S I C: https://open.spotify.com/album/6fEo3fCm5C3XhtFRflfANr
⍠ C O L L A B M U S I C: https://dustpuppets.bandcamp.com/releases
Slime Knight
Send private message
 
 PostWed Dec 10, 2014 11:57 pm
Send private message Reply with quote
Yeah, the "hire" thing is what I'm going for. The main thing I was wondering about is if anyone had worked on a way to automatically remove the hired hero upon his/her death, (not to be re-used) as opposed to removing them through a shop or text box.

It definitely seems pretty feasible. And Sheamkennedy, what you're talking about sounds cool too, and would be something I might want to do in conjunction with my initial question. To have a hero (robot) which "dies" after a number of steps or battles.... hhmm...

I haven't done any work with adding, removing, hiring, or swapping heroes, so I'll be delving into that side of things. I'll make it known if I make any progress.

Thanks for the replies!

EDIT: wait... I think I may have figured it out. Seems too easy to actually work though...


EDIT: I think I have something like I was looking for now...
Code:

plotscript, RemoveGoon, begin
   if (check tag (tag:LiveGoon) == off)
     Then (delete hero (hero:Goon))
end

Something like this where the LiveGoon tag is the Hero is alive Tag attached to the hired goon. If the Goon dies in battle, this sets the tag to off, and removes him from the party.
I think I can implement this script into whatever map autorun/each step scripts I've used to make it check wherever you are if you have a living goon with you....
Metal King Slime
Send private message
 
 PostThu Dec 11, 2014 11:17 am
Send private message Reply with quote
You can also set it as the after-battle script on each map.

Note however that it will break if there's more than one copy of the goon in the hero. Actually, that's pretty tricky to handle.
Slime Knight
Send private message
 
 PostThu Dec 11, 2014 2:40 pm
Send private message Reply with quote
After battle script, even better! Thanks for that!


And I'm going to try to make it so there's only one goon at a time, probably make it so the goon hiring text box is conditional on the "live goon" tag being off. I'll probably also have 2 or more versions of each kind of goon, with their own tags and checks.
Slime Knight
Send private message
 
 PostTue Dec 16, 2014 8:20 pm
Send private message Reply with quote
sheamkennedy wrote:

What would be really cool is if someone made said robot henchmen shop, then scripted in a step counter that makes the robot breakdown/run out of fuel after 1000 steps for instance. Thus instead of leaving your party the robot is simply abandoned.


For some reason I was thinking about this all morning... It got me wondering.
Could you achieve something like this if you created a script that used a "step" variable? Like, if you had an "each step" script on every map that would increment the "step" variable by one, until a condition is met?

Like if the 'step' count reaches 500, it brings up a text box, sets a tag, or runs a script to remove the robot from the party (you could probably even make it so it left a busted up robot NPC on the map tile where the condition was met.)

Any time you buy or build a new robot, the 'step' variable could reset to 0 and begin again. Or you could set it to a number, and have it decrement until 0, either way would probably work the same.

I was also thinking that you could do something like link the "robot is in party" or "robot is alive" tag to a conditional met with an inventory item. Then have an each step script to delete one item from your inventory until the items are exhausted, at which point the robot would no longer work. The item could be "battery charge" and you could have a shop or inn that worked as a charging station...

Anyway, I have no Idea why I was thinking about this today. And honestly I don't know if this is a system you would want to utilize for a game, or if you were just making an offhand comment about it. Either way, I think it might be possible.
Liquid Metal Slime
Send private message
 
 PostTue Dec 16, 2014 8:24 pm
Send private message Reply with quote
Or it could be a robot that is a permanent or semi-permanent party character that just has to be refueled?
My pronouns are they/them
Ps. I love my wife
Liquid Metal Slime
Send private message
 
 PostTue Dec 16, 2014 8:34 pm
Send private message Reply with quote
Urkelbot666 wrote:
sheamkennedy wrote:

What would be really cool is if someone made said robot henchmen shop, then scripted in a step counter that makes the robot breakdown/run out of fuel after 1000 steps for instance. Thus instead of leaving your party the robot is simply abandoned.


For some reason I was thinking about this all morning... It got me wondering.
Could you achieve something like this if you created a script that used a "step" variable? Like, if you had an "each step" script on every map that would increment the "step" variable by one, until a condition is met?

Like if the 'step' count reaches 500, it brings up a text box, sets a tag, or runs a script to remove the robot from the party (you could probably even make it so it left a busted up robot NPC on the map tile where the condition was met.)

Any time you buy or build a new robot, the 'step' variable could reset to 0 and begin again. Or you could set it to a number, and have it decrement until 0, either way would probably work the same.

I was also thinking that you could do something like link the "robot is in party" or "robot is alive" tag to a conditional met with an inventory item. Then have an each step script to delete one item from your inventory until the items are exhausted, at which point the robot would no longer work. The item could be "battery charge" and you could have a shop or inn that worked as a charging station...

Anyway, I have no Idea why I was thinking about this today. And honestly I don't know if this is a system you would want to utilize for a game, or if you were just making an offhand comment about it. Either way, I think it might be possible.


I was just mentioning this as a random comment of something that you could pull off. If you'd like to use the idea go right ahead. The way you described it with the step-counter would be the perfect way to pull this off. It should be as easy to code as you have just described.

If you wanted to make it even more fancy you could do this:
-If the step-counter = 900 then create an NPC on the ground that looks like either an oil drop or a mechanical component.
-Then when step-counter = 950 create another similar NPC
-Then when step-counter = 975 do it again
-Then when step-counter = 990 do it again
-Then when step-counter = 995 do it again
-Then when step-counter = 997 do it again
-Then when step-counter = 998 do it again
-Then when step-counter = 999 do it again
-Then when step-counter = 1000 the robot breaks down

This would make it look like the robot is getting more and more worn out until it breaks or fails. It would also give the player a visual queue that they must get a repair fast or else they are going to have to spend cash on a new robot rather then inexpensively repairing it!
⊕ P E R S O N A L M U S I C: https://open.spotify.com/album/6fEo3fCm5C3XhtFRflfANr
⍠ C O L L A B M U S I C: https://dustpuppets.bandcamp.com/releases
Slime Knight
Send private message
 
 PostTue Dec 16, 2014 8:39 pm
Send private message Reply with quote
Oh, man that would be awesome! haha, having the poor thing drop oil and bolts all over the map till it breaks. I'm not sure I have anywhere to use a system like this at the moment,... but that doesn't mean I can't shoehorn it into a game somehow... hhmmm
Liquid Metal Slime
Send private message
 
 PostTue Dec 16, 2014 8:44 pm
Send private message Reply with quote
Urkelbot666 wrote:
Oh, man that would be awesome! haha, having the poor thing drop oil and bolts all over the map till it breaks. I'm not sure I have anywhere to use a system like this at the moment,... but that doesn't mean I can't shoehorn it into a game somehow... hhmmm


Yeah I guess it depends on what type of game your making. It doesn't even have to be a robot. Another idea would be to make the "hired" party member a giant pet slug. For every step you take the slug secretes oily mucus on the ground, but as you get to a higher step count then the mucus slowly stops being produced until the slug shrivels up and dies. This can really work for so many things.
⊕ P E R S O N A L M U S I C: https://open.spotify.com/album/6fEo3fCm5C3XhtFRflfANr
⍠ C O L L A B M U S I C: https://dustpuppets.bandcamp.com/releases
Liquid Metal King Slime
Send private message
 
 PostTue Dec 16, 2014 8:55 pm
Send private message Reply with quote
TMC wrote:
You can also set it as the after-battle script on each map.

Note however that it will break if there's more than one copy of the goon in the hero. Actually, that's pretty tricky to handle.


I think the biggest problem is that you can only delete heroes by name/id

I need to add a command like "delete hero by slot". Then you could have an after-battle script like this.

Code:

plotscript, RemoveDeadGoon, begin
  variable(slot)
  for(slot, 0, 3) do(
    if(hero by slot(slot) == hero:Goon) then(
        if(get hero stat(slot, stat:Hp, current stat) == 0) then(
            delete hero by slot(slot)
        )
    )
  )
end


Also, a simple "Delete hero if dead after battle" bitset in the hero editor would be a great feature, and probably not very hard to implement.
Display posts from previous: