Author Topic: General Discussion  (Read 3815985 times)

0 Members and 8 Guests are viewing this topic.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #8310 on: September 04, 2016, 04:49:55 PM »
Items bonuses do not extend to those skills. I need to take a look if we can put them through some of the same methods... Healing cannot be resisted, poison can. You can take a look at the code.

Another push coming up, small adjustments to formulas + stats showing during the battle you've asked for.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #8311 on: September 05, 2016, 12:43:29 AM »
Items are less important than traits in this case. Characters and creatures immune or resistant to poisons are quite common.
As for healing, immunity to it has to work, I use it for some mobs.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #8312 on: September 05, 2016, 02:58:05 AM »
There is inconstancy with colors for ME. Usual spells and attacks have red damage numbers above target heads. The testing spell with wind+ice has green numbers.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #8313 on: September 05, 2016, 03:09:44 AM »
There is inconstancy with colors for ME. Usual spells and attacks have red damage numbers above target heads. The testing spell with wind+ice has green numbers.

Should we just make it red everywhere? I know what's happened there, it can be fixed to work either way without too much fuss. I need to go over all derivative skills as well, to make sure they work. Also the isinstance thing remains, where you cannot use magic class for attacks, that should be fixable as well.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #8314 on: September 05, 2016, 03:35:57 AM »
Yeap, numbers always were red, I dunno why ME are different in that regard now.

Also, in log we have DMG:434 ☁ 237 ❄237. It should be DMG:434 ☁ 237 ❄237 to avoid confusion.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #8315 on: September 05, 2016, 03:53:16 AM »
Healing and poisoning are not reflected properly in the log. For healing it only says that healing was used, without numbers. And here I found a decent "elemental icon" for heals  :)

Poison already has a unicode character "poison": "☠", but it's not used anywhere as far as I can tell, which is a shame. I suppose it also could use dark green color for log damage.
« Last Edit: September 05, 2016, 03:57:04 AM by DarkTl »

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #8316 on: September 05, 2016, 07:16:51 AM »
Ah yes, I forgot about one thing. One of the main reasons why I used stats for evading and resistance is because stats can be freely used anywhere in the game with minimal coding.

Not only I had items which change evasion chance, I also added it to some traits and class traits. Specifically, heavy body types had small penalties to the evasion chance and vice versa, and agile classes had bonuses. They won't work now, naturally.

Quote
                    # Critical Hit Chance:
                    ch = (a.luck - t.luck + 10) * .75
Have you seen it in the testing mode? It makes the chance vs goblins 75%, almost guaranteed.
« Last Edit: September 05, 2016, 07:35:55 AM by DarkTl »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #8317 on: September 05, 2016, 11:15:14 AM »
Yeap, numbers always were red, I dunno why ME are different in that regard now.

Also, in log we have DMG:434 ☁ 237 ❄237. It should be DMG:434 ☁ 237 ❄237 to avoid confusion.

Healing and poisoning are not reflected properly in the log. For healing it only says that healing was used, without numbers. And here I found a decent "elemental icon" for heals  :)

Poison already has a unicode character "poison": "☠", but it's not used anywhere as far as I can tell, which is a shame. I suppose it also could use dark green color for log damage.

Ok, so next:

- Get total damage to be reported without color in viewport for ME attacks.
- Make sure that all damage bouncing number are always red, They were NOT! before. We used color of the element! I'll make them all red for now (cause it's easier) and we'll revisit this later.
- Add icon for healing.
- I'll go over all skills and see if we can get them to work for magic and attack skills without fuss.
- And make sure exotic skills calculations are up to date with the new system.


Ah yes, I forgot about one thing. One of the main reasons why I used stats for evading and resistance is because stats can be freely used anywhere in the game with minimal coding.

Not only I had items which change evasion chance, I also added it to some traits and class traits. Specifically, heavy body types had small penalties to the evasion chance and vice versa, and agile classes had bonuses. They won't work now, naturally.

Have you seen it in the testing mode? It makes the chance vs goblins 75%, almost guaranteed.

Yeah, I've changed my mind about those stats as they are basically direct chances gathered from traits and items. More or less the same thing I wanted to do, what threw me off was:

- They are not hidden.
- No other stats (agility/luck/magic) were used.
- I genuinely disliked the magic resistance idea.

We should allow traits to influence these chances as well but it's unacceptable that at level 1, chance is the same as at level 100... I'll try to cook up some way to mitigate this.

I'll change the chance. It's way too high, basically, I am thinking we should have a max for every source for CH and EV, like limit max that items can bring to the table and what stats can bring to the table (per stat if needs be). Maybe the same for defense that comes from stats.

======>>>
I'll recheck exotic skills and make reports work first.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #8318 on: September 05, 2016, 11:33:11 AM »
If you want damage color to use the color of elements, we are kinda screwed by ME skills, they have two or more colors. In log we can clearly write what's going on, but not above the target's head.

If you use one color, the system loses clearness. And I have no idea how to use more than one color for damage numbers and still don't make it look like a circus poster.

I'll change the chance. It's way too high, basically, I am thinking we should have a max for every source for CH and EV, like limit max that items can bring to the table and what stats can bring to the table (per stat if needs be). Maybe the same for defense that comes from stats.
Luck is difficult to increase. Once you set it in character data file, it's more or less permanent, except a few rare items.
And mobs have permanent luck too, no matter the level. So if you compare luck in formula to get the crit chance, you will always have more or less the same value against the same mob.

I think that's not how crit chance works in most games, it's usually more random.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #8319 on: September 05, 2016, 12:46:41 PM »
I wonder how other games handle exotic attacks in code. I've fixed all we talked about and right now trying to figure out a good way to handle special cases...


Edit:

Ok... so, at it's core, poison is a LOT like any normal attack. It does a number of extra stuff like:

Code: [Select]
                # Target resisted due to stats being too l33t:
                elif (t.intelligence + t.luck) > (a.intelligence + a.luck) * 1.3:
                    battle.log("%s not skilled enough to poison %s!" % (a.nickname, t.nickname))
                    t.beeffects = [0]
                    continue

Extra resistance check which we do not need at all.

Code: [Select]
                # And last, in case target is already poisoned:
                for ev in store.battle.mid_turn_events:
                    if t == ev.target and "poison" in ev.attributes:
                        battle.log("%s is already poisoned!" % (t.nickname))
                        t.beeffects = [0]
                        break

Check is a character is already poisoned, which we may improve...

Code: [Select]
                    battle.mid_turn_events.append(PoisonEvent(t, a, damage))
Add an event to the event queue.

====================>>>
I will try this:

- Remove that first check.
- Make adding an event an option in the default setup.
- Add new special resistance check based of event in queues.

This will render poison as a normal skill instead of "special". It will open possibilities for poisoned weapons. It will open possibilities for other attack adding be events, like fire damage per turn or defense reduction.

Which reminds me: Besides the trait effects, I need to add be event effects to open possibilities.

New TODO list:

- The above
- Traits effects
- BE Event effects

Which is a lot...
« Last Edit: September 05, 2016, 01:03:30 PM by Xela »
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #8320 on: September 05, 2016, 01:04:44 PM »
We should allow traits to influence these chances as well but it's unacceptable that at level 1, chance is the same as at level 100... I'll try to cook up some way to mitigate this.
A small character is not going to be any smaller at lvl 100. She might be more agile (they already are) and thus have more evading chance since it's tied to agility too. But base bonus to evasion based on the trait itself, ie her body size, will remain the same.

The same fields you use for items should work for traits, that's it.

Yeah, I've changed my mind about those stats as they are basically direct chances gathered from traits and items.
I don't think we should return to stats again. It was fine for 1-2 stats, but not for 7 or more.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #8321 on: September 05, 2016, 01:08:57 PM »
I will also look into healing becoming a normal attack but that may not be possible. Reviving a character is too unique to ever be merged with base skill class without fucking up the code.

This will take some time and focus to rewrite so I'll check back in about an hour.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #8322 on: September 05, 2016, 04:30:18 PM »
Oki, some was fixed with my last push, still on the list is:

- Traits effects
- BE Event effects

and:
- Sort skills by delivery instead of isinstance() checks. This should also make sure that we can use the same skills for attacks and magic.
- Smarter AI Algorithm.
- Infinite recursions prevention.

===>>
Hopefully past that it will be just the the new skills and minor adjustments to formulas (which are better but not where I'd like them to be, although maybe all we need are content adjustments and not formula once).

===>>
Decent BE is waaaay too much work, prolly also the reason why noone does it in H-Sim games :D
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #8323 on: September 05, 2016, 04:31:33 PM »
BTW: Ren'Py 6.11 is now an official release.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #8324 on: September 06, 2016, 02:32:06 AM »
Gonna put some time into BR today, shooting range has been neglected for too long :)
Like what we're doing?