devolution

Author Topic: General Discussion  (Read 3821262 times)

0 Members and 40 Guests are viewing this topic.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9525 on: February 26, 2017, 12:12:59 PM »
I do have access to skype as an owner of microsoft account which I created to log in win10, it works for all microsoft services.

Discord is cool because it can work from a browser, but I can't say that I understand its concept about servers.
And there are so many settings and options... I felt the same way when I launched photoshop or after effects for the first time, even the black gray interface is similar.

But for a start I'll need to check (tomorrow) if discord in browser can bypass our corporative firewall. Because skype can.
« Last Edit: February 26, 2017, 12:17:02 PM by DarkTl »

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9526 on: February 26, 2017, 04:05:53 PM »
I tested AlphaBlend on spell animation, it looks pretty good, removing the need to remake webm when you just need to colorize it.

I only wish there would be more control over the spell resistance animation for DefenceBuffSpell, ie a line like
Code: [Select]
dodge_effect={"gfx": AlphaBlend("magic_shield_webm", "magic_shield_webm", gray_shield(340, 330), alpha=True)}would actually work, replacing the default one.

Offline picobyte

  • Jr. Member
  • **
  • Posts: 75
Re: General Discussion
« Reply #9527 on: February 26, 2017, 07:57:23 PM »
Ok nm i see what you want you can get out of those renders but its not as highly detailed as i expected.. there are some free resource out there for walls that looks great with bricks volume or crevasse/cracks into walls and with diffuse/norm/spec/AO maps provided

Yes I found some as well, any help with rendering is welcome of course. I've added some triggers and code hooks required for game play. Pressure plates, keys, levers, sensors for particular magic, instructions on a wall parchment etc. there's a lot to do.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9528 on: February 27, 2017, 07:11:31 AM »
Xela, I need the option to control the "resist" animation which shows when magic shields from DefenceBuffSpell work. Just like every spell has its own buff icon, they could use a field for the resist animations.

Because without it I pretty much cannot change the main_effect animation for shields, any other webm won't suit the default resist animation.
« Last Edit: February 27, 2017, 07:18:10 AM by DarkTl »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9529 on: February 27, 2017, 10:52:57 AM »
Xela, I need the option to control the "resist" animation which shows when magic shields from DefenceBuffSpell work. Just like every spell has its own buff icon, they could use a field for the resist animations.

Because without it I pretty much cannot change the main_effect animation for shields, any other webm won't suit the default resist animation.

More details, I am not sure what you're talking about. We have a number of methods that execute in specific order for both targets and attackers, I need to know when you need resist to run and when.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9530 on: February 27, 2017, 12:00:07 PM »
I mean the resist animation from "content\gfx\be\auto-animations\resist 0.07 1" folder. It plays when a shield works against something.

There is no control over it, it plays for all shields.
Quote
               elif "magic_shield" in target.beeffects:
                    if self.target_sprite_damage_effect.get("gfx", None) not in ["fly_away"]: # This should ensure that we do not show the shield for major damage effects, it will not look proper.
                        tag = "dodge" + str(index)
                        renpy.show(tag, what=ImageReference("resist"), at_list=[Transform(size=(300, 300), pos=battle.get_cp(target, type="center"), anchor=(.5, .5))], zorder=target.besk["zorder"]+1)
Would be cool have different "resist" per shield spell, just like we have different icons for them.

So it could be set in spells properties like 
Quote
        DefenceBuffSpell("Solid Shield", menu_pos=-1, attributes=["status", "earth"], kind="buff", defence_multiplier={"melee": 3.0}, buff_group="melee shield", vitality_cost=0.7, mp_cost=0.2, buff_icon=ProportionalScale("content/gfx/be/buffs/big_melee_def.png", 30, 30), range=4, type="sa",
                desc="Sets up a powerful force field around the target, shielding from melee damage.",
                main_effect={"gfx": Transform("magic_shield_webm", zoom=1.1), "sfx": "content/sfx/sound/be/m_shield.ogg", "duration": 1.27, "aim": {"point": "center", "anchor": (.5, .5), "yo": 0}},
                target_sprite_damage_effect={"gfx": None},
                target_damage_effect={"gfx": None},
                target_death_effect={"gfx": None},
                resist_effect={"gfx": "resist"})

Without it we have no choice but to use the same main_effect animation for all shields, because other animations (like content\gfx\be\filmstrips\shield_1.png) look very weird when used with the very same yellow resist animation.
« Last Edit: February 27, 2017, 01:41:59 PM by DarkTl »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9531 on: February 27, 2017, 03:50:39 PM »
Some confusing cr@p right here... it's basically considered to be "dodge" effect...

Try adding other options to target_sprite_damage_effect dict as "shield_gfx": my_new_shield.

my_new_shield can be anything, string is prolly simpler bet, you can resolve displayable in the method you quoted, along the lines of:

Quote
        DefenceBuffSpell("Solid Shield", menu_pos=-1, attributes=["status", "earth"], kind="buff", defence_multiplier={"melee": 3.0}, buff_group="melee shield", vitality_cost=0.7, mp_cost=0.2, buff_icon=ProportionalScale("content/gfx/be/buffs/big_melee_def.png", 30, 30), range=4, type="sa",
                desc="Sets up a powerful force field around the target, shielding from melee damage.",
                main_effect={"gfx": Transform("magic_shield_webm", zoom=1.1), "sfx": "content/sfx/sound/be/m_shield.ogg", "duration": 1.27, "aim": {"point": "center", "anchor": (.5, .5), "yo": 0}},
                target_sprite_damage_effect={"gfx": None, "shield_gfx": "magic_wall"},
                target_damage_effect={"gfx": None},
                target_death_effect={"gfx": None},
                resist_effect={"gfx": "resist"})

and:

Code: [Select]
                elif "magic_shield" in target.beeffects:
                    gfx = self.target_sprite_damage_effect.get("shield_gfx", ImageReference("resist")) # We use "resist" as default...
                    if gfx not in ["fly_away"]:
                        if gfx == ImageReference("resist"): # This should ensure that we do not show the shield for major damage effects, it will not look proper.
                            tag = "dodge" + str(index)
                            renpy.show(tag, what=gfx, at_list=[Transform(size=(300, 300), pos=battle.get_cp(target, type="center"), anchor=(.5, .5))], zorder=target.besk["zorder"]+1)

Quote
elif gfx == "magic_wall":
    tag = "dodge" + str(index)
    renpy.show(tag, what=..., at_list=[...], ...)

You need to pull first cause we didn't have an option to choose shield before.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9532 on: February 28, 2017, 09:40:30 AM »
Yeah, I tried to change the code like that on my own, it didn't work. It still doesn't work, the animation is always default (pull my last push with an example).

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9533 on: February 28, 2017, 12:44:15 PM »
Yeah, I tried to change the code like that on my own, it didn't work. It still doesn't work, the animation is always default (pull my last push with an example).

I'll check it out, feels like it should have done the trick...
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9534 on: February 28, 2017, 01:28:23 PM »
Hmm... we're not getting the info from the correct class. I'll adjust the code and test it with your setup but this might be a tiny bit trickier.

Edit: Issue is that we don't really know which buff is activated, what we did before is binding the defense animation to the battle skill, which is not very sensible. I am trying to come up with a good way to do this.
« Last Edit: February 28, 2017, 02:24:40 PM by Xela »
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9535 on: February 28, 2017, 03:13:36 PM »
We kinda know something, because for example melee shield animation won't be active against a spell. So there is a check of some kind.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9536 on: February 28, 2017, 04:09:22 PM »
We kinda know something, because for example melee shield animation won't be active against a spell. So there is a check of some kind.

Took some effort but it is working. Problem is that we're pushing logic really, really far before refactoring to accommodate more advanced setups. The whole defence buff thing is a bit of a hack as it is, it's a good and reliable hack but it is not integrated into BE properly and for that reason, it cannot be extended as effortlessly as battle skills, timing logic, overlays and etc.

Code: [Select]
defence_gfx="gray_shield",
this is the new field, what we used before was entirely inaccurate cause that was not even used to get the animation, we simply checked if there was fly away in the damage effect to make sure we don't activate shield on complex animation, like my whirlwind thing.

Also, we basically use the first activated buff we can find! There is prolly no way around this cause it may not be reasonable to run two (or more) buff animations if they got all triggered on that battle turn.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9537 on: March 01, 2017, 03:55:28 AM »
Yeah, looks like it works properly now.

This is because initially resistance was like evasion vs magic, a part of universal mechanics which are the same for everyone. But you wanted shields instead, and used my dodge-based logic to make them work  :)
But now they are no longer a part of universal mechanics, they are spells. And our spells are very customizable by design.

We probably will need a more general class in the future to handle all buffs and debuffs.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9538 on: March 02, 2017, 03:28:47 AM »
I don't what it was, but "dodging" magic seemed like a bad idea for a number of reasons. I'll refactor BE after beta, maybe even flip it into UDD! I've been wanting to try that for a very long time...
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9539 on: March 02, 2017, 04:31:52 AM »
There is a rare bug in BE interface.

Start testing battle, select any weapon attack which affects more than one target (like Rapid Strikes), move the cursor over the blue arrows above enemies but don't click left mouse button to execute it.
Instead after moving it over arrows move cursor to the cancel button, and it's frame will change size.

It's probably confusing, so there are screenshots attached. At first cursor is over blue arrows above enemies. Then cursor is over the cancel button, and its size becomes different.