Tool: Online SWRPG Shop Generator

By celofett, in Star Wars: Edge of the Empire RPG

I’ve been playing with this the last few days. I’m guessing version one rather than two that’s under development?

Either way, fantastic tool. I haven’t used the original code but thanks for building the web version.

I can see you’ve implemented pretty much all suggestions here, great work. I had a couple of suggestions and/or questions.

I’ve been trying to back-calculate how the prices calculated just so I have an understanding of what’s happening and whether I want to stick to it. Does the markup, using planetary price modifier and shop type get calculated per item or per store?

Can you confirm that the shop type modifier is calculating a number between the two integers? I.e. 10% to 30% in the case of ‘on the level’? (I can’t read java)

Would it be possible to show the actual markup? Actually all you probably need is to show the base cost and the markup cost. As you’re showing the die results, GMs can play with things a little anyway, especially for a despair, but referencing the books to find the base cost is a little tedious. This was already suggested I think so consider this a second to that motion.

Again, great work.

Edited by Roderz
Grammar

Hey @Roderz

Definitely version 1. I ran into a bunch of roadblocks with v2 and so most improvements have been happening on the original instead with v2 on the back burner for now.

3 hours ago, Roderz said:

Does the markup, using planetary price modifier and shop type get calculated per item or per store?  

Here's the code for marking up items (with some context):

# On The Level Shop Example
@shop_modifiers = {
  min: 10,
  max: 30
}

# Example World
@world = {
  price_modifier: 2
}

def markup_price!(roll, item)
  advantage_discount = -1 * roll[1] * 5
  triumph_discount   = -1 * roll[2] * 10
  markup = (@shop_modifiers[:max] - @shop_modifiers[:min] + 1) + @shop_modifiers[:min]
  new_price = (@world[:price_modifier] * item['price']) * (1 + ((markup + advantage_discount + triumph_discount) / 100.0))
  item['price'] = new_price.round
end

It happens per item and I'm seeing now that it isn't even picking a random number between the min/max. I'll have to update that!

Should it happen per store instead? Randomly pick a value at the very beginning then use that for every item?

3 hours ago, Roderz said:

Would it be possible to show the actual markup?

Hopefully during this winter vacation I'll be putting this in as I've had a few other people request it as well. Will probably only show this to GM's and maybe the option to set your own price as well.

Thanks for the feedback!

On 12/23/2018 at 12:43 PM, celofett said:

Definitely version 1. I ran into a bunch of roadblocks with v2 and so most improvements have been happening on the original instead with v2 on the back burner for now.

Here's the code for marking up items (with some context):

# On The Level Shop Example
@shop_modifiers = {
  min: 10,
  max: 30
}

# Example World
@world = {
  price_modifier: 2
}

def markup_price!(roll, item)
  advantage_discount = -1 * roll[1] * 5
  triumph_discount   = -1 * roll[2] * 10
  markup = (@shop_modifiers[:max] - @shop_modifiers[:min] + 1) + @shop_modifiers[:min]
  new_price = (@world[:price_modifier] * item['price']) * (1 + ((markup + advantage_discount + triumph_discount) / 100.0))
  item['price'] = new_price.round
end

It happens per item and I'm seeing now that it isn't even picking a random number between the min/max. I'll have to update that!

Should it happen per store instead? Randomly pick a value at the very beginning then use that for every item?

Thanks for the feedback!

Mate, the tool is very useful, so don’t stress, tinker as and when you feel like it.

I think costs are better randomised per item rather than per store. And at the end of the day if a GM doesn’t like a price they aren’t forced to use it. Definitely look into that randomisation though, the prices seemed to skew high to me.

I think just display list price next to the marked up price will do the trick and hopefully be straightforward.

On 12/24/2018 at 4:57 AM, Roderz said:

Def  initely look into that randomisation though, the prices seemed to skew high to me. 

I think just display list price next to the marked up price will do the trick and hopefully be straightforward. 

@Roderz Hey there!

I've fixed the randomization and added the original price for GMs to see

3850337_ScreenShot2018-12-25at12_59_04PM.png.f78e7a7a80f2989a628dd8f2f6c9f832.png

I've added the values used to calculate the price on the backend so that later I can show the calculation. Just working on a decent way of showing it. This data isn't available for older shops so it'll only be shown for new shops and if an old shop is regenerated.

I've also found that the min/max item count wasn't working so I've fixed that too. Also added a checkbox when creating/editing a shop to either markup items or keep everything at their default price.

Hopefully prices shouldn't be too outrageous now and a lot more random.

Let me know how this works out! Thanks again

Hey Everyone!

Just a small update. Custom Shops are now live for logged in users!

custom_shops.thumb.jpg.93aecea62fdbe64aacdfe4fea8347654.jpg

When creating a custom shop, all items are available and after adding them to the Item List, the price and quantity available can be updated. By default the price is set to the items base price and quantity is -1 (Unlimited).

Shout out to @Bloodgarde for giving the rough alphas and betas a shot!

Try it out and feel free to shoot over any feedback!

Edited by celofett

Hey, celofett!

I really like the tool! Very sleek indeed! I'm looking into doing a phone-based version (p2p through wifi and wifi direct as well as using firebase for longer distances). I reckon we can generalize it to any tabletop game (including total homebrews I think) which would also mean not having to distribute the spreadsheets, which is the copyrighskiest part of this. We could also do a little bit of character sheet interaction I think to speed up getting back to the game even more.

DM me if you wanna talk.

Again, great work! And happy programming!

~MacKenzie

This is really cool! I do have a question, it's been asked before but I'm still confused, I just started playing the game.

When I generate a shop, are the only "available" items those that match up exactly with the PC's dice result?

So if he rolls 3 successes and 2 advantage, then I look for the items that have 3 success and 2 advantage?

Hey there @KTRexx96

The generated shop is already a list of items that were successfully rolled for so every item would be available to the player. The result shown per item is what the outcome was when rolling the dice pool against that specific item.

Hey first time GM here,

Me and my friends were experimenting with the shop website and were confused by the Roll column at the end of each item. We thought it related to the item's quality in use during combat, but after trying it for the Armor Shop we found the roll was still there and now we are thoroughly confused. Any explanation would be appreciated immensely!

Thanks in advance.

Question about Table.png

Hi @piemidget595

That column is the result of the simulated roll for that item. It is what was used to figure out availability and the price

Thanks for this tool! Just discovered it 5 seconds ago, but I can tell it'll be really useful.

I am just about to get into SWRPG but have some experience with GMing. One of the things I was dreading was building Shops and such as it is a new system. This changed all of that. This is brilliant! Thanks for the great work!