Author Topic: [WIP] [Suggestion] Solar's wishlist  (Read 54596 times)

Offline Arthanor

  • Commander
  • *****
  • Posts: 2560
  • XCom Armoury Quartermaster
    • View Profile
Re: Solar's wishlist
« Reply #120 on: August 23, 2016, 07:06:23 pm »
Ha! These modders, they always want more... It could make sense to restrict stuff by craft (no tanks in a (air)car, but you can take a parrot or a dog, so barring HWPs isn't so nice.. I guess you could make those soldier types to circumvent the issue), and it does by environments, the combination of the two would be neat, but can probably be worked around, especially with the ability of having soldier "1x1 HWPs" to enable them to get in a (air)car.
« Last Edit: August 23, 2016, 07:08:50 pm by Arthanor »

Offline Dioxine

  • Commander
  • *****
  • Posts: 5244
  • punk not dead
    • View Profile
    • Nocturnal Productions
Re: Solar's wishlist
« Reply #121 on: August 23, 2016, 08:05:27 pm »
It's already doable, no extra code needed. You couldn't take a tank into an Aircar, even if you enabled HWP capacity, since 1 seat is required by pilot, and a tank can't be loaded if you have 3 slots left. For the same reason Zepp can take only 3 tanks, despite having 9 HWP capacity.
Adding these pilots really solved a LOT of problems.

Online Meridian

  • Global Moderator
  • Commander
  • ***
  • Posts: 5597
  • Aaand we're back!
    • View Profile
    • My Wiki
Re: Solar's wishlist
« Reply #122 on: August 24, 2016, 12:47:17 pm »
Let's K.I.S.S. Skip projectiles, sounds and animations completely, for now at least. While this will limit the uses a bit, these aren't important uses for now, and it can be played with later.

How does this look?
EDIT: small updates

Quote
  - type: STR_ENVIRO_CYDONIA
    environmentalConditions:
      STR_FRIENDLY:
        chancePerTurn: 100 # 30 = 30% chance of hitting per turn
        firstTurn: 1 # first turn to apply damage
        lastTurn: 1000 # last turn to apply damage
        message: "STR_LOW_PRESSURE" # code of message to be displayed on "Next Turn" screen (e.g. STR_LOW_PRESSURE = "Extreme low pressure is hurting us.{NEWLINE}Hurry up!")
        color: 29 # color of the message (battlescape palette: 13..16 + i*16)
        weaponOrAmmo: "STR_PISTOL_CLIP" # code of weapon or ammo used for damage calculation
        side: 3 # side to be hit from (-1=random, 0=front, 1=left, 2=right, 3=rear, 4=under)
        bodyPart: 0 # bodypart to be hit (-1=random, 0=head, 1=torso, 2=right arm, 3=left arm, 4=right leg, 5=left leg)
      STR_HOSTILE:
        chancePerTurn: 100
        firstTurn: 1
        lastTurn: 1000
        message: "STR_TICKLE" # The guards' morale is rising.{NEWLINE}Second line...
        color: 45
        weaponOrAmmo: "STR_PISTOL_CLIP"
        side: -1
        bodyPart: -1
      STR_NEUTRAL:
        chancePerTurn: 10
        firstTurn: 1
        lastTurn: 1000
        message: "STR_KILLING_ME_SOFTLY" # The VIP is slowly dying. Hurry up!
        color: 109
        weaponOrAmmo: "STR_GAUSS_PISTOL_CLIP"
        side: -1
        bodyPart: -1
    defaultArmor:
      STR_SOLDIER: STR_SPACE_SUIT_UC
      STR_SOLDIER_S: STR_SPACE_SUIT_UC
    allowedArmors:
      - STR_SPACE_SUIT_UC
      - STR_BIO_SUIT_ADV_UC
      - STR_IRONMAN_ARMOR_UC
      - STR_ANNIHILATOR_ARMOR_UC
      - STR_STEALTH_ARMOR_UC
      - STR_ARRANCAR_ARMOR_UC
      - STR_LOADER_ARMOR_UC
« Last Edit: August 25, 2016, 10:28:56 pm by Meridian »

Offline Dioxine

  • Commander
  • *****
  • Posts: 5244
  • punk not dead
    • View Profile
    • Nocturnal Productions
Re: Solar's wishlist
« Reply #123 on: August 24, 2016, 02:32:23 pm »
Looks real good! :) Except we don't need that 'ammo', why complicate. Would you really think I'd use weapon + ammo if I can use ammo-less weapon? :)

Online Meridian

  • Global Moderator
  • Commander
  • ***
  • Posts: 5597
  • Aaand we're back!
    • View Profile
    • My Wiki
Re: Solar's wishlist
« Reply #124 on: August 24, 2016, 02:41:55 pm »
Looks real good! :) Except we don't need that 'ammo', why complicate. Would you really think I'd use weapon + ammo if I can use ammo-less weapon? :)

Ammo is optional.

PS: I'd like to see a mission with a single neutral VIP unit with 1000+ armor (i.e. can't be killed by guards by accident) taking constant health damage per turn (i.e. dies for example in 20 turns). The mission objective is to kill all guards, i.e. rescue the VIP :) With nice fat score if you manage to save him.

Offline Dioxine

  • Commander
  • *****
  • Posts: 5244
  • punk not dead
    • View Profile
    • Nocturnal Productions
Re: Solar's wishlist
« Reply #125 on: August 24, 2016, 03:52:02 pm »
I can already picture it... the VIP runs around, while being pummeled by grenades and heavy gunfire, and you watch it from a distance, laughing your ass off :) Might be good as comic relief if the 'VIP' is some Cute Indestructible Alien Beast. :)

However a rescue mission is a good idea; the problem - it is uncontrollable where the neutral units will spawn.

Online Meridian

  • Global Moderator
  • Commander
  • ***
  • Posts: 5597
  • Aaand we're back!
    • View Profile
    • My Wiki
Re: Solar's wishlist
« Reply #126 on: August 25, 2016, 03:33:40 pm »
Ammo is optional.

PS: I'd like to see a mission with a single neutral VIP unit with 1000+ armor (i.e. can't be killed by guards by accident) taking constant health damage per turn (i.e. dies for example in 20 turns). The mission objective is to kill all guards, i.e. rescue the VIP :) With nice fat score if you manage to save him.

Attributes "weapon" and "ammo" have been replaced by a single "weaponOrAmmo" attribute.

There are following limitations to environmental conditions:
Quote
   https:// Note: there are limitations, since we're not using a projectile and nobody is actually shooting
   https:// 1. no power bonus based on shooting unit's stats (nobody is shooting)
   https:// 2. no power range reduction (there is no projectile, range = 0)
   https:// 3. no AOE damage from explosions (targets are damaged directly without affecting anyone/anything)
   https:// 4. no terrain damage
   https:// 5. no self-destruct
   https:// 6. no vanilla target morale loss when hurt; vanilla morale loss for fatal wounds still applies though
   https://
   https:// 7. no setting target on fire (...could be added if needed)
   https:// 8. no fire extinguisher

And some screenshots how the user is informed about WTF is going on.

If you have "skip next turn" option turned on, you can still see the message in the hit log.
EDIT: if there is a message to be displayed, the "skip next turn" option will be ignored
« Last Edit: August 25, 2016, 03:48:42 pm by Meridian »

Online Meridian

  • Global Moderator
  • Commander
  • ***
  • Posts: 5597
  • Aaand we're back!
    • View Profile
    • My Wiki
Re: Solar's wishlist
« Reply #127 on: August 25, 2016, 10:33:19 pm »
- [DONE] Environmental effects
- [DONE] Starting conditions by terrain

Terrain ruleset now also has "startingCondition" attribute.
It overrides the deployment starting condition (after briefing).

Offline Solarius Scorch

  • Global Moderator
  • Commander
  • *****
  • Posts: 8937
  • WE MUST DISSENT
    • View Profile
    • Nocturmal Productions modding studio website
Re: Solar's wishlist
« Reply #128 on: August 26, 2016, 11:34:22 am »
Thanks! I've updated the document.
« Last Edit: August 26, 2016, 11:43:14 am by Solarius Scorch »

Offline Dioxine

  • Commander
  • *****
  • Posts: 5244
  • punk not dead
    • View Profile
    • Nocturnal Productions
Re: Solar's wishlist
« Reply #129 on: August 26, 2016, 02:03:14 pm »
I have a tiny feature request :) Some streamling of the Pedia that'll allow modders to save time and space (and avoid errors), while looking more elegant to the player. In weapon's attacks list, Instead of the current Auto, can we have Auto (x3), or whatever the number of autoshots a weapon fires when used in this mode? The number is the key, extra letters and symbols should be arrangeable as translator wishes.

Online Meridian

  • Global Moderator
  • Commander
  • ***
  • Posts: 5597
  • Aaand we're back!
    • View Profile
    • My Wiki
Re: Solar's wishlist
« Reply #130 on: August 26, 2016, 02:06:25 pm »
I have a tiny feature request :) Some streamling of the Pedia that'll allow modders to save time and space (and avoid errors), while looking more elegant to the player. In weapon's attacks list, Instead of the current Auto, can we have Auto (x3), or whatever the number of autoshots a weapon fires when used in this mode? The number is the key, extra letters and symbols should be arrangeable as translator wishes.

Yes, no problem.

Code: [Select]
  STR_SHOT_TYPE_AUTO: "Auto (x{0})"
« Last Edit: August 26, 2016, 02:46:05 pm by Meridian »

Online Meridian

  • Global Moderator
  • Commander
  • ***
  • Posts: 5597
  • Aaand we're back!
    • View Profile
    • My Wiki
Re: Solar's wishlist
« Reply #131 on: August 26, 2016, 03:38:21 pm »
Quote
Terrain destruction by melee
So we could attack walls and objects with melee weapons. Should only work when the tile doesn’t have any units standing on it (unconscious units are ignored).

So, any idea how should this work exactly?

There can be only one unit on a tile (easy)... but there can be several objects to destroy (on a screenshot, should I destroy the wall or the stairs behind the wall?)

Also the objects don't occupy the whole tile... if I aim for the center of the tile, I can destroy for example a stone fence or wooden stairs... but I cannot destroy a wall (since it's not in the center of the tile).

Should I check all 6144 voxels (16*16*24) for a presence of an object? :)
And what if I am elevated... should I check neighboring tile(s) as well?

Or should I trace an invisible bullet and see what it hits? If so, which voxel to take as starting point (e.g. unit's eyes) and as end point (e.g. center of the target tile's floor)?

And what if I am a 2x2 unit (tank or a reaper)... which tile am I even targeting? Or am I targeting both tiles in front of me?
« Last Edit: August 26, 2016, 03:41:52 pm by Meridian »

Offline Dioxine

  • Commander
  • *****
  • Posts: 5244
  • punk not dead
    • View Profile
    • Nocturnal Productions
Re: Solar's wishlist
« Reply #132 on: August 26, 2016, 03:58:16 pm »
Thanks!

Or should I trace an invisible bullet and see what it hits? If so, which voxel to take as starting point (e.g. unit's eyes) and as end point (e.g. center of the target tile's floor)?

And what if I am a 2x2 unit (tank or a reaper)... which tile am I even targeting? Or am I targeting both tiles in front of me?

That sounds like the best solution, since it's proven - trace an invisible bullet, start at shoulders, target centre of floor (I think that's how guns work). I just hope this won't allow to auto-hit enemies as well :)
However, this will have issues with some types of terrain, like farm's fences... which have a hole right where the aforementioned trajectory goes. We might have to go into checking voxels, but a little less than 6144 - I think 3 voxels should do - check 3 voxels in the middle of the wall facing soldier: at 18, 12, and 6 px height. These attacks also start from shoulders. Fire the 'bullet' at the first trajectory that connects. If none of the three connects with anything, use the default behaviour from above... does that make any sense? :)


As for big units, double attack vs. terrain sounds like a super cool feature!

Offline Arthanor

  • Commander
  • *****
  • Posts: 2560
  • XCom Armoury Quartermaster
    • View Profile
Re: Solar's wishlist
« Reply #133 on: August 26, 2016, 04:11:25 pm »
Guns already have a way of targeting obstacles, don't they? Like when you click next to a fence, the first thing you hit is the fence. If it is destroyed and you target the same tile, then you hit the floor. And I think if there is an object (something like a chair or tree) it goes before the fence if on your side of the fence, after the fence otherwise and always before the floor?

Any ways, the best is probably to use exactly the same code as you would if firing a weapon for a tile away to pick the target, but to draw the melee animation instead of a bullet, play the melee hitsound and get the weapon's melee damage to determine if the tile is destroyed.

Reapers could attack 2 tiles (or 3 when facing diagonally?) and then we just need someone to go in the AI and allow blocked AI units to clear a path. Or better yet, consider smashing through terrain as valid paths too. Chryssalids or reapers coming at you through walls would be a terrible thing to witness!

Online Meridian

  • Global Moderator
  • Commander
  • ***
  • Posts: 5597
  • Aaand we're back!
    • View Profile
    • My Wiki
Re: Solar's wishlist
« Reply #134 on: August 26, 2016, 04:16:28 pm »
Depending on the trajectory you may miss the closest object.

If you had for example that nice farm fence and a tree on the tile (fence being closer to you), your virtual bullet may go straight through the fence and land in a tree.

This is fine when you see a projectile going through the fence... but if you see a sword hack down a tree through a fence...  :o