[ian-reeds-games] Re: Tactical Battle: a couple of issues and some new feature ideas

  • From: "Craig Brett" <dmarc-noreply@xxxxxxxxxxxxx> (Redacted sender "craigbrett17@xxxxxxx" for DMARC)
  • To: ian-reeds-games@xxxxxxxxxxxxx
  • Date: Sat, 06 Dec 2014 18:11:34 +0000

Ok, a test one would be better, as it will help me isolate the problem. If you can make a little test map pack that has the problem, then I've got something to work with to see if I can get that map pack to work.


If not, then I'm happy for you to send me your map pack and I can use that.

Thanks,
Craig

On 02/12/2014 23:09, Monkey wrote:
I took the success/failure messages out for now, but there weren't any
line breaks. I can redo them and send you either my full map pack or a
test one...that's up to you, I can do either.

And no problem, I understand!

On 12/2/14, Craig Brett <dmarc-noreply@xxxxxxxxxxxxx> wrote:
Some of it kind of helps, I'm still guessing with some of it though.

I'll try replicate the min_range problem with non-moving units and/or
setting the min range the same as the actual range, see if I get anywhere.

I'd like to make a flag that means you can only perform a skill from a
given terrain too. It's already on my list of things I'd like to get in TB.

The only hunch I have with the failure message... it could be because of
either of our e-mail clients, but there appear to be line breaks in the
messages. Is this the case? If not then no clue.

If you're still having no luck with the failure message, could you
please either send me over the map pack in question to have a look at?
Or if you're happy to make one, a small test map pack, perhaps with this
effected skill, so I can see it happening and diagnose what's upsetting
it. That would be appreciated.

Thanks and sorry it's taken a while to follow up on this, it's been a
busy time of year for me.

Thanks,
Craig

On 11/11/2014 06:27, Monkey wrote:
Hi,

I hope that helped. I wasn't sure if that was a problem with yours or
mine, to be honest.

Oh, kay, yes, that would explain it then. Sorry for that. I'll see if
I can make a different version.

Could it be because my unit can't move? It's a bridgehouse that is
only supposed to raise and lower a drawbridge but it's two spaces away
from the moat. The min_range is at 2, but the full range is also 2,
that might also be why...?
Oh yes, before I forget  and since I'm talking about it... would it be
possible to cause skills to only work on a certain type of terrain? So
If I want to lower a drawbridge over a moat it can only be used over a
moat, and therefore the AI won't try and use it on normal land?

About the failure_message. I'm not sure.
Here's what I'm getting for errors, along with the original success
and failure messages.

Success error:
Calling Context: cb_after_perform_skill
Filename: CB.js
Line: 199
Column: 45, 46
TypeError: Cannot call method 'GetName' of null
success_message {0} concentrates, then begins to chant a long
incantation in a fell language. Energy swirls across the ground and
the sound of cackling can be heard. A moment later a dark fissure
opens up in the ground, and a demon heaves itself out. The portal
closes and the demon rises with a triumphant roar.


Failure:
Calling Context: cb_after_perform_skill
Filename: CB.js
Line: 203
Column: 45, 46
TypeError: Cannot call method 'GetName' of null
failure_message {0} concentrates, chanting an incantation in a fell
language. Energy swirls across the ground, and the sound of cackling
can be heard. A moment later a dark fissure opens up in the ground,
but the energy forming it seems to waver and then compress in upon
itself, closing the portal before the shape within can exit.

And here's the skill itself.
skill
10
|flags
description Summons a demon that will battle your enemies. Costs 20
summon points and 5 action points.
empty_tile
range=2
AP's_cost=5
summon_points_cost=20
summon=demon
chance=20
key=d
ai_summon
sound=summon_demon
|script_flags
success_message {0} concentrates, then begins to chant a long
incantation in a fell language. Energy swirls across the ground and
the sound of cackling can be heard. A moment later a dark fissure
opens up in the ground, and a demon heaves itself out. The portal
closes and the demon rises with a triumphant roar.
failure_message {0} concentrates, chanting an incantation in a fell
language. Energy swirls across the ground, and the sound of cackling
can be heard. A moment later a dark fissure opens up in the ground,
but the energy forming it seems to waver and then compress in upon
itself, closing the portal before the shape within can exit.

My success message works with a different skill, which is odd. For
some reason even that doesn't work with this one though. I could
always just take them out of this particular one.

Does any of that help?

On 11/10/14, Craig Brett <dmarc-noreply@xxxxxxxxxxxxx> wrote:
Hello Monkey,

I've not had time to look into all the things on this e-mail, but I'll
respond to the ones I have.

Firstly, the unit dying twice was indeed a bug. I'd never invisioned my
critical hits being used quite in that way. That's a good thing. I've
put in a fix so critical hit kills shouldn't incur damage after death.
That should come out with the next dev release.

Regarding move_other_unit_away, it was never intended or coded to be
used in that way. From the docs:

   > This will move the target of the skill the given number of tiles
away
from the user.

In your case, the user is also the target, as it is a self skill. So you
are trying to move your unit away from itself. Uncomfortable at best.
What you want in this case is a new script flag to push surrounding
units away from a unit or tile. Hopefully something I can try to create
sometime.

I cannot replicate your problem with the AI and min_range. When I use
it, the AI backs away from me and then fires at me. If I then move onto
the same tile as the AI, it then repeats the pattern, unless it can hit
another target without moving first.

Similarly, failure_message is working fine for me. Are there any
particular things I need to do to break it?

Cheers,
Craig

On 06/11/2014 00:21, Monkey wrote:
Hi,
I seem to be having a few problems with the Tactical Battle maps I've
been creating. I'm using the latest version and my files are all
converted to parser 10, if that helps.


First--and I'm not sure if this is a bug or just something wrong with
my coding, but...
I used an attack and the orc commander who I was targeting died.
Twice. The move had "critical_hit_effect death" set, is that why?
Since the damage was more than enough to kill it anyway because it was
almost dead when I used that move?
The code looks like this:
Skill
10
|flags
description A massively powerful storm that will damage units up to 3
tiles away. Costs 7 AP's and 20 mana. Key is m.
enemy
hp_inflict=300r350|air,200|lightning,100|water
hp_splash_inflict=200|air,100|lightning,50|water
life_force_inflict=250r300
AP's_cost=7
mana_cost=20
range=7
min_range=3
splash_range=3
key=m
effects=shock,static,wet
splash_effects=static,wet
not_useable_on=shadow_king,sneaky_ninja,incorporeal_wraith,invisible_necromancer
sound=mighty_storm
|script_flags
success_message {0} closes their eyes and chants a long incantation
and throws their hands upwards. A bolt of lightning erupts into the
sky from one palm and seems to split into many smaller bolts, while an
orb of energy erupts from the other. The wind picks up and heavy rain
starts to fall. With a shout, {0} brings their hand down, pointing at
{1}. At that, the full force of the storm crashes down upon {1}.
critical_hit_chance 85%
critical_hit_effect death
critical_hit_message The wrath of {0}'s storm was too great. {1} falls
to the ground, writhing in agony for a moment, before falling still.


    I had a problem with the move_other_unit_away script, too. If I use
a
move that will blast my enemies away from directly around me, it will
give me a script error. My code looks like this, in case you were
wondering:
    skill
    10
    |flags
    description Blasts surrounding units away from you while doing
damage
    to them at the same time.
    self
    splash_range=1
    hp_splash_inflict=95|physical,75|air
    sound=force_push
    |script_flags
    move_other_unit_away 3
    success_message {0} sends a burst of power out in all directions,
    scattering those surrounding him.

The AI seems to have a problem with min_range. It keeps trying to use
a skill on a unit that is too close, and I keep getting that error in
my battle log.

I'm trying to use a skill on a unit and there's a wall in the
way...but that shouldn't be a problem, since the skill has the
no_line_of_sight flag. Does that not work for some reason if the
use_sight_range flag is enabled on that map? And if so, then why are
my enemies still able to attack me through walls, since they can't see
me?

The map-making guide says that I can use none on the terrain_limit=
flag for units to allow them to move over tiles that don't have a
specified terrain, but when I try it the unit can't move on those.

I found out that if you use the script that toggles a unit to a
different team on a unit that can transform, if you use the
transformation skill and it only reverts to normal after the
team_toggle has run out, the effect will say -x rounds remaining,
where x is the number. This causes a glitch where if you defeat all of
your opponents but this unit has that negative thing, you can't win
the level. (Well maybe unless you somehow kill that ally, but I
haven't tried that yet.) I thought the team_toggle countdown would
have carried through the transformation, but I guess not.

Finally, failure_message doesn't seem to work when I have it under the
|script_flags section. No problem with success, but when the failure
message is supposed to play it gives me a script error instead.

I think that's it, at least from what I can remember. Does anybody
have advice for me when it comes to any of those?

Oh yes, and I have some potential feature ideas that I came up with
over the last few days...
    For effects:
    only_affects=, this will cause the effect to only work on the units
in this list.
    does_not_affect=, the units in this list would be immune to these
effects. So I can still use a skill with this effect on a unit, but
the effect won't work. Alternatively, a immune_to_effects= flag on a
unit, since it would end up doing the same thing.
replace_terrain=, would work just like in skills, but this way if you
have this as a splash effect it'll change the terrain around it as
well. It would help when making, say, a drawbridge over a moat that's
two or three spaces wide.

For skills, effects and items:
Allow the death_transformation script flag.
Add a flag for splash that will cause the splash--whether it is an
inflict or an effect--to go in a line rather than all around. This
would allow for, say, the building of a bridge across a wider river
without having the bridge being a cross-shape due to the way the
splash is currently set up. This wouldn't replace the current flag, of
course, it would just be a different option.

    For terrain:
    Something like the opposite of terrain_limit=. Like,
can_not_pass_terrain=, where a unit can not pass through any terrain
on this list. (I'm suggesting that one because it would make it easier
to have, say, incorporeal beings such as ghosts that could travel
through walls and
    such, and then barriers would have to be set up to specifically
block
them. It would make it much simpler, as opposed to needing to have a
potentially long list of terrain that they can pass over.)
    A flag similar to impassable but it'll only block flying units.
Maybe
just change the not_flyable one to only block flying units, then you
can use both impassable and not_flyable if you want to stop both from
moving there.
    The ability to add effects directly to terrain, or have effect files
    that will only be addable to terrain but can't be used on skills.
    Also, what about a height flag for terrain? Separate it into
    ground-level, underground and high, or something like that.
    Two examples of how it could work, since I don't think that was
clear:
    I have a high cliff that units can't just walk onto from the ground.
    To get up there, they would have to climb up to the mountain pass
and
    walk onto the mountain itself. This would bring them to the correct
    height. Then they can stand on the cliff and shoot down on their
    enemies.
    Or if an enemy is on a bridge and the bridge is destroyed they fall
    (Lord of the Rings reference haha) into a pit. They can't get out of
    the pit, but they can still move--as long as it is in the pit--and
use
    their skills, although maybe they can't target those who aren't in a
    pit.
    Not sure if this is doable - or maybe it would be easier to make a
    script, for all I know.


    For skills/items/effects/possibly terrain:
    A block_skill=, function that will allow you to prevent units from
    using a specific skill while still being able to use ones that
aren't
    listed. I know you can already do that if you make the skill that
you
want to block use a certain type of point and then have the move
that's being used on the unit who bears the skill remove all of those
points, but a block_skill flag would allow you to still use other
moves that might use the same type of points.


Thoughts?







Other related posts: