Author Topic: <-- Archived --> (Items Concept)  (Read 40636 times)

0 Members and 1 Guest are viewing this topic.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Items Concept
« Reply #105 on: August 06, 2014, 10:13:34 AM »
Okay, so head-gear and ingredients are the two main ones you want to have something to use to refine the code?

Refine may not be the right word here. Expand more like it.

That's okay, I was already working on ingredients for food for cooking for better food items for mid-late game, but I can improve that further.

Some decent herbal pics.

Food is good as well. Note that when you make a dict, there should be multiple items bound to the same ingredients like:

Code: [Select]
{
"Shitty Sword": ["Iron Ingot", "Fire", "Coal"],
"Rusty Sword": ["Iron Ingot", "Fire", "Coal"],
...
}

And in items themselves just add a new field:

Code: [Select]
"craftskill" = 10
Lets say craftskill will be in range of 0 -  500, 500 being the highest.

Okay so I'll start on a few things and get back to you guys after a while, just you you can concentrate on fixing bugs, fixing code and getting everything working properly while I get busy.

Yeah, don't worry about us, we're batsh!t crazy on the ideas so there is always something to do for the game :)

Yeah, 800 items is lots of overkill, but I though that with so much variety, every play-through will be different because of the multitude of things that are there, and all the possible combinations/differences each player will get with each item, variety is the slice of life as they say.

Items amounts are not a very big issue performance wise I think, classes are really simple and we keep one instance of each in the game, the only problem with this is sorting, auto-buy/auto-equip will be slower with loads of items in the game (I am attempting to mitigate that somewhat by sorting specialized containers at the start of the game already) + dictionary lookups will take more time. Also, keep in mind that items have new location field "Exploration" that will allow any particular item to be found during it.

This is the new format for items, you might as well make the new stuff in it:

Code: [Select]
[
    {
    "id": "Dagger",
    "desc": "A simple iron dagger which is easily concealed under clothing for self-defense.",
    "icon": "content/items/sweapon/d.png",
    "price": 80,
    "sex": "unisex",
    "chance": 100,
    "badness": 95,
    "eqchance": 5,
    "hidden": false,
    "infinite": true,
    "slot": "smallweapon",
    "type": "Dagger",
    "attack": "KnifeAttack",
    "dismod": 1,
    "max": {"attack": 10},
    "mod": {"attack": 5, "character": 3},
    "locations": ["Work Shop"]
    },
    {
    "id": "Enchanted Dagger",
    "desc": "This magic dagger has an enhancement bonus to attack. It is the most common weapon among the local thugs.",
    "icon": "content/items/sweapon/ed.png",
    "price": 150,
    "sex": "unisex",
    "chance": 75,
    "badness": 90,
    "eqchance": 10,
    "hidden": false,
    "infinite": false,
    "slot": "smallweapon",
    "type": "Dagger",
    "attack": "KnifeAttack",
    "dismod": 5,
    "max": {"attack": 20},
    "mod": {"attack": 10, "character": 5},
    "locations": ["Work Shop", "Exploration"]
    },
    {
    "id": "Assassin Dagger",
    "desc": "When equipped, this dagger awakens the killer instinct.",
    "icon": "content/items/sweapon/ad.png",
    "price": 450,
    "sex": "female",
    "chance": 25,
    "badness": 80,
    "eqchance": 30,
    "hidden": true,
    "infinite": false,
    "slot": "smallweapon",
    "type": "Dagger",
    "attack": "KnifeAttack",
    "dismod": 5,
    "max": {"attack": 35},
    "mod": {"attack": 20, "character": 25},
    "removetraits": ["Meek", "Collected", "Kind"],
    "addtraits": ["Aggressive", "Merciless"],
    "locations": ["Exploration"],
    "goodtraits": ["Yandere"],
    "badtraits": ["Kind"]
    }
]

Hard to tell if ingredients should be items themselves... prolly yes, just omit complex fields.
Like what we're doing?

Offline KingofKings

  • Newbie
  • *
  • Posts: 32
Re: Items Concept
« Reply #106 on: August 06, 2014, 10:54:57 PM »
Okay, I'll work on making the items first, and once that is done, I'll take it all and make a dictionary from that so everyone has the items and the recipes ready to go.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Items Concept
« Reply #107 on: March 12, 2015, 08:48:49 PM »
Code: [Select]
            self.add_be_spells = []
            self.remove_be_spells = []

I was going through code and figured that I've already added the fields. I recall writing about that as well.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4730
Re: Items Concept
« Reply #108 on: March 14, 2015, 08:55:49 AM »
Um, how do they work? I mean, should I use them on consums and miscs only? What will happen if some sword has such a line?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Items Concept
« Reply #109 on: March 14, 2015, 10:46:35 AM »
Um, how do they work? I mean, should I use them on consums and miscs only? What will happen if some sword has such a line?

Skill will be removed together with the sword as you unequip it. If character already had such skill (spell) it will be disappear (we may take precautions in the future.). I am thinking about allowing items to auto-create their own battle skills/spells as well but that's prolly for the future too.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4730
Re: Items Concept
« Reply #110 on: March 15, 2015, 06:51:32 AM »
Alright. I wonder how it will work with temporarily working consumables though. I'm not going to make them right now, but might in the future. Like some overpowered magic attack that can be used for one day only.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Items Concept
« Reply #111 on: March 15, 2015, 10:00:05 AM »
Alright. I wonder how it will work with temporarily working consumables though. I'm not going to make them right now, but might in the future. Like some overpowered magic attack that can be used for one day only.

Will work fine. As long as those spells cannot be obtained in any other way, or current code will remove them. I'll fix that at some point as well.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4730
Re: Items Concept
« Reply #112 on: December 05, 2015, 09:05:52 AM »
Alright, autobuying.

- There is actually a way to request a specific item via function, didn't know that. However, since the item might not be available in any shop, I'm not really sure how and where to use it.

Now we trying to buy a random item.

- There is supposed to be a skill/stat based system which decides what stats are important for the character, but looks like it's afk atm.
- At first we exclude all items with bad traits. *Might as well make a non slave character sell such items if she has them in inventory.
- Then with 80% chance we create a pool of items with goodtrait. And buy one of them if the character doesn't have it yet.
- If there are no such items or the dice is failed, with 30% chance we buy a restore type item. With further 100 - badness chance.
- Then we buy a random item with 100 - badness chance. And cannot buy more than 5 of any item.

Possible improvements:
- Autosell loot slot items for non slaves.
- If a character has empty equipment slots such as body, wrists or feet (for warriors weapon slot too), her main concern should be to buy something for them in the first place.
- Only small weapons for non-warriors. Both small and normal for warriors.
- Types priority. Only "dress" type for non-warriors. More "armor" than "dress" for warriors. No priorities for "other" type, ie based on other things only.
- Food type consumables should be sold more freely than anything else. They are cheap anyway.
- Permanent type consumable should never be sold to characters.
- Upgrade type consumables should use skill/stat logic.
- Scroll type consumables should be sold to mages only.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Items Concept
« Reply #113 on: December 05, 2015, 10:36:23 AM »
Maybe... I am against selling off items in general (they may sell items player wishes them to keep).

For the rest, I'd prefer to keep the system as plain and simple as possible, just so it makes sense. If you want to add more to it, feel free.

We do not check item availability in shops but we do check for items that can be bought in shops (at the very beginning of the game).
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4730
Re: Items Concept
« Reply #114 on: December 05, 2015, 10:55:28 AM »
Since loot is normally useless, selling it is a measure against clogging inventory of those characters who don't give you free access to inventory to clear it manually if needed. I'll skip selling badtrait items.

But they probably should start selling any non consumable items if they have more than 5. Want to keep all items? Give them to lovers and/or slaves.
« Last Edit: December 05, 2015, 10:57:52 AM by DarkTl »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Items Concept
« Reply #115 on: December 05, 2015, 12:21:20 PM »
Not sure... such a feature would interfere with gameplay. It doesn't feel right.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4730
Re: Items Concept
« Reply #116 on: December 06, 2015, 07:38:03 AM »
What about unhired or fired characters? You want to keep everything even for them?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Items Concept
« Reply #117 on: December 06, 2015, 08:17:08 AM »
What about unhired or fired characters? You want to keep everything even for them?

They should not buy items... We could run some funcs once or twice but it's not reasonable to do it for all chars right off the bat, not without some serious optimization first.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4730
Re: Items Concept
« Reply #118 on: December 06, 2015, 08:48:43 AM »
I believe unhired ones should have some items at high enough levels. If all chars will have zero items until you hire them, it will be a poor life simulation. Though they don't have to buy them properly as hired ones. Otherwise shops will be empty very soon.
But it's a part of another system.

Fired ones probably should sell any non consumable items if they have more than 5 after you fired them.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Items Concept
« Reply #119 on: December 06, 2015, 09:14:11 AM »
Maybe... you're right about the high level chars but that is a whole different discussion. It needs to be done in such a manner that it doesn't interfere with/slow down the game...
Like what we're doing?