Author Topic: Combat should take place after rogue spawn and before rogue damage  (Read 5660 times)

Chenier

  • Exalted Emperor
  • ******
  • Posts: 8120
    • View Profile
It's really annoying whenever these hordes spawn in heavily-fortified regions and do significant damage while the army doesn't engage. Especially if they go on to damage the walls, which are costly to repair and which you'd figure would be where your army is, ready to defend.
Dit donc camarade soleil / Ne trouves-tu ça pas plutôt con / De donner une journée pareil / À un patron

egamma

  • Guest
Yes, this would be nice.

Shizzle

  • Mighty Duke
  • ****
  • Posts: 1537
  • Skyndarbau, Yusklin, Yarvik, Werend and Kayne
    • View Profile
Makes sense :)

GoldPanda

  • Mighty Duke
  • ****
  • Posts: 561
    • View Profile
------
qui audet vincit

Anaris

  • Administrator
  • Exalted Emperor
  • *
  • Posts: 8525
    • View Profile
I don't have the code in front of me, but it's very possible that this is completely impractical to code, due to the way the turn scripts are run.  It might require splitting a turn script or changing script orders, which is basically not going to happen.
Timothy Collett

"The only thing you can't trade for your heart's desire...is your heart." "You are what you do.  Choose again, and change." "One of these days, someone's gonna plug you, and you're going to die saying, 'What did I say? What did I say?'"  ~ Miles Naismith Vorkosigan

Shizzle

  • Mighty Duke
  • ****
  • Posts: 1537
  • Skyndarbau, Yusklin, Yarvik, Werend and Kayne
    • View Profile
Reality check :P

egamma

  • Guest
I don't have the code in front of me, but it's very possible that this is completely impractical to code, due to the way the turn scripts are run.  It might require splitting a turn script or changing script orders, which is basically not going to happen.

Can we put this on the Doctrine conversion list as a "nice to have"? Since you're recoding everything anyway...

De-Legro

  • Honourable King
  • *****
  • Posts: 3838
    • View Profile
Can we put this on the Doctrine conversion list as a "nice to have"? Since you're recoding everything anyway...

There is a slight differences between refactoring to make use of Doctrine and completely recoding. One of the devs will obviously have a better understanding, but to my knowledge Doctrine is mostly related to the SQL queries and data management, so it doesn't necessitate changing the order things work in.
Previously of the De-Legro Family
Now of representation unknown.

Tom

  • BM Dev Team
  • Exalted Emperor
  • *
  • Posts: 8228
    • View Profile
    • BattleMaster
There is a slight differences between refactoring to make use of Doctrine and completely recoding. One of the devs will obviously have a better understanding, but to my knowledge Doctrine is mostly related to the SQL queries and data management, so it doesn't necessitate changing the order things work in.

Correct. While we do change a few things while we come across them, this is not a total code refactoring.

Jens Namtrah

  • Guest
I don't have the code in front of me, but it's very possible that this is completely impractical to code, due to the way the turn scripts are run.  It might require splitting a turn script or changing script orders, which is basically not going to happen.

all turn changes run a series of function calls. reordering the function calls is child's play.

the problem is that each function currently calls too many actions. if you split up the functions into singular "functions", as they should be, it will be much easier to control things like monster spawns, starvation effects, etc.

Anaris

  • Administrator
  • Exalted Emperor
  • *
  • Posts: 8525
    • View Profile
all turn changes run a series of function calls. reordering the function calls is child's play.

Sure; just changing the order in which things happen would, indeed, be utterly trivial.

Changing the order in which things happen without things breaking is much trickier.

As you well know.
Timothy Collett

"The only thing you can't trade for your heart's desire...is your heart." "You are what you do.  Choose again, and change." "One of these days, someone's gonna plug you, and you're going to die saying, 'What did I say? What did I say?'"  ~ Miles Naismith Vorkosigan

fodder

  • Mighty Duke
  • ****
  • Posts: 1977
    • View Profile
what's more annoying is the bit where you've destroyed them already. then they go and kill another 10% of your production and go poof
firefox

Jens Namtrah

  • Guest
Sure; just changing the order in which things happen would, indeed, be utterly trivial.

Changing the order in which things happen without things breaking is much trickier.

As you well know.

exactly.

Which is precisely why what I said in the half of my post you DIDN'T quote is so important.

Fortunately, the whole point behind an ORM is to help with stuff like this, so hopefully when you're finally able to get that refactoring sorted out, it will help make this easier to change.

Chenier

  • Exalted Emperor
  • ******
  • Posts: 8120
    • View Profile
what's more annoying is the bit where you've destroyed them already. then they go and kill another 10% of your production and go poof

It is quite annoying how they keep on damaging stuff even when you kicked their asses.

Can you actually hunt dispersed rogues? It never seems to work...
Dit donc camarade soleil / Ne trouves-tu ça pas plutôt con / De donner une journée pareil / À un patron

GoldPanda

  • Mighty Duke
  • ****
  • Posts: 561
    • View Profile
I thought there were plans to add some simple checks to prevent this?

1. Rogue forces cannot loot when hostile troops are present, just like everyone else. Since rogues are at war with everyone, this means that rogues cannot damage a region when other troops are present.

2. Rogue forces cannot loot if they are in the retreated, scattered, or rallying states, again, just like everyone else.

All we're asking for is that rogue forces get the same restrictions as normal troops when it comes to looting, and not treated as special cases.
------
qui audet vincit