Author Topic: [DONE][Suggestion] custom movement speed  (Read 3136 times)

Offline RSSwizard

  • Commander
  • *****
  • Posts: 748
    • View Profile
[DONE][Suggestion] custom movement speed
« on: October 02, 2017, 06:29:02 am »
unitMovementAlter:
  toTime: 1.0
  toEnergy: 1.0
etc etc

this scales the amount of TUs and Energy used for a unit to move, only affects movement by distance not turning or opening doors
 - now you can produce true stationary guns or very slow moving robots that can have decent reaction fire capabilities (its just better to do it this way)

the issue of the piratez sentry rocket got me thinking about this, and like for example those robots that are nothing more than tile objects that block the watchtower door and such... dioxine could be putting minigun and plasma turrets in the game similar to the ones in Fallout 2


2nd suggestion:

smokeType: STR_DEFAULT_SMOKE
//the type of smoke generated when this object goes kaboom, or otherwise kicks up dust.

fireType: STR_DEFAULT_FIRE
//might as well go for suggesting this one as well, which could have some customization as well for some hilarious and diabolical results


STR_DEFAULT_SMOKE
smokeSprite: 8
effectOnHit: false
startDensity: 1
smokeDuration:
power:
damageAlter:
  randomType:
  fireThreshold:
  toTile:
  toStun:
(etc etc)

This would allow being able to generate custom colored smoke sprites which also had other effects. Ideal for x-piratez in terms of the custom grenades and munitions so that they dont just have their specialized effect on explode, but continue to have those effects as it lingers around. These being like the knockout grenades, plague launcher, hallucinogen grenades, poison gas mortars, and so on.

If effectOnHit is true then it will hit the unit as soon as they touch it rather than at the end (or start?) of the round. But as long as they have been hit with it that half-turn it wont hit them again no matter how much of it they move through.

Smoke sprites of course would be expected to come in sets of 12 for three densities of 4 frames each and would reference from SMOKE.PCK type graphics. StartDensity determines what the minimum start density would be for the smoke (1, 2, or 3) and smokeDuration would affect how long (probably in turns) the smoke remains.

I would say that if you set the damageAlter right you could have it damage tiles, or even set fires which would then also produce smoke (but I think in this case it would be preferable for this type of smoke to override anything the tile or a fire would produce, then when this type of smoke goes away anything else can happen in that tile as usual).
« Last Edit: February 14, 2023, 09:08:23 am by Meridian »

Offline Solarius Scorch

  • Global Moderator
  • Commander
  • *****
  • Posts: 11408
  • WE MUST DISSENT
    • View Profile
    • Nocturmal Productions modding studio website
Re: suggestion - custom smoke, movement speed
« Reply #1 on: October 02, 2017, 11:36:29 am »
Smoke types would be great to have, yes.

Stationary units can be done by just giving it 0 energy. But the real problem is spawning them at the right location. Spawning units by map block coordinates (like items currently) would also be great, for many reasons.
« Last Edit: October 02, 2017, 09:40:05 pm by Solarius Scorch »

Offline RSSwizard

  • Commander
  • *****
  • Posts: 748
    • View Profile
Re: suggestion - custom smoke, movement speed
« Reply #2 on: October 02, 2017, 09:34:33 pm »
Stationary units could be given a specialized Rank. I dunno how many ranks dioxine has in piratez right now for the factions but ive seen it as high as 13.

Then you would be able to specify spawn points for entities of that rank in the maps, and put priority weight 10 on the ones that should definitely be in specific places so that way all the turret slots are eaten up rather than forced to distribute to the rest of the spawn points. Since the Tentaculat just has rotation/death frames I know its possible to make a 1x1 size hwp.

This is not for putting a gun turret on the outside part of a player's ship.

Its to hurt the player more by putting potentially OP death turrets on the map, preferably on the outside hull of warships or even "dropped" onto roofs at random during pogroms. Really make the player have to watch their cover and angles of approach to avoid being reaction fired on by the turret (or being caught out in the open and shot by one because they didn't know it was around). I say OP because they could have rotoguns, autocannons, even rocket or mortar launchers on them - but since they cant move its open season to pick them off with explosives.

Offline Solarius Scorch

  • Global Moderator
  • Commander
  • *****
  • Posts: 11408
  • WE MUST DISSENT
    • View Profile
    • Nocturmal Productions modding studio website
Re: suggestion - custom smoke, movement speed
« Reply #3 on: October 02, 2017, 09:45:55 pm »
Yes, that would be closer to how the original system works... But also a big pain for modders, and for no justifiable reason. Managing ranks would become way more troublesome, and also there is currently no tool to assign non-standard ranks to nodes.

Spawning units from blocks is also a troublesome thing, but it has some uses that can't be achieved directly via alienDeployments.

Also, it would be nice to also assign nodes for civilians only or aliens only... I have some defensive missions where you protect a house with civilians, but these civilians tend to spawn deep in the forest while enemies spawn in the house.

Anyway, I share your enthusiasm for OP turrets. ;)

Offline RSSwizard

  • Commander
  • *****
  • Posts: 748
    • View Profile
Re: suggestion - custom smoke, movement speed (and many more)
« Reply #4 on: October 04, 2017, 12:17:19 am »
Another suggestion I just thought of would be for each fire mode having an optional counter system that limits how many times you can use it per round. Even if you have enough TU to keep using that fire mode, when it reaches its limit its done for that turn (might even apply to the whole turn, including reaction shots).

(to make this easy on the AI the weapon could actually disable that mode in such a way that it disappears off the list, like the weapon no longer has a Snap, Auto, Aimed etc mode when its been reached. And next turn when the maximum uses is refreshed, it comes back again)

We generally consider that every turn is probably 3-5 seconds long in terms of realtime so it is justifiable that a weapon could be disabled for use longer than it takes to actually use it.


There are some weapons that (could) have an implied self-reload function that doesn't interfere with the shooter's actions, but takes the weapon out of commission while the weapon readies itself. So thats for like cooldown delays or lightning reloads.



For example a double barrel shotgun that is handled, rather than having a capacity of two, it automatically fires both each time. That way it can fire both as a snap shot. However instead of having a capacity of only one attack the weapon is blockBothHands and each "clip" is actually 2 pounds worth of shotgun shells (ehh, maybe 5 attacks at this rate) which the character is implied to be carrying with their other hand.

It would probably only suck up like 35-40% TU to just point and shoot the thing, but because (like doom) its implied that the shooter reloads it after each attack that means it takes time to get another shot with it - they're only limited to 1 attack each round.


Something similar could be done with experimental plasma weapons, or lasers that are relatively quick to fire but they only get like 2 shots per turn just because of overheating.


Its probably better to layer this function so that you have a Universal Uses value, but an individual mode (like Auto) could have a lower number of uses.



Another Suggestion

shotgunNoSpring: true
for a clip item, would cause the firing of a weapon that is using shotgunPellets to have no effect on the current camera view of the battlefield. It wouldn't jump back to the shooter, it just leaves the camera where it is.

Most of the time when we're firing a shotgun at some enemy we want to see how effective and where the pellets went generally, so this is a really functional option (it might even be better to just make it a universal Extended option)



Another Suggestion:
Multiple Clips per weapon (same type of clip only, if you load another clip even if its on the compatible ammo list it will say that its the wrong type of ammo for the weapon)

The weapon simply combines the number of shots available into a pooled magazine capacity, though it is subtracting ammo from only one of the clips at a time. Especially useful for making advanced or deluxe versions of guns (especially energy weapons) that can plug in multiple cells so they can be supplied with the same ammunition (this is supposed to be one of the logistical strengths of developing energy weapons IRL...).

Also useful for shotguns that have a much longer, or double feed tube so that you can load twice the amount of ammunition.

The way this would work for loading/unloading is:
The weapon be default loads as many of the clips as it can to full at the start of a mission/equip. The weapon cant have a clip loaded into it unless at least one of the clips it has is empty (so, shot count will not equalize).

If the weapon was completely empty or had multiple clips missing from it, each clip dragged onto the weapon will assess the TU loading cost like usual and only loads one clip (the one that was grabbed).

However if you go to Unload the weapon all of the clips are removed.
One clip is placed in the other free hand...
All the other clips are dropped to the ground.

"This gatling laser has 4 feed sockets for standard laser rifle, or laser pistol cells."

"The UAC chaingun has a remarkably complex loading mechanism which, eschewing traditional belt feed or drum based munitions, instead has 5 loading sockets for standard pistol magazines, which the weapon automatically switches between and releases when rendered empty. A reliable, and practical, of somewhat ornery design."



Yet More Suggestions:

damageAlter:
  explosionDensity: 0.5

Scales the effective weapon power when determining the drawing routine for explosion sprites (but for that alone, its a graphical tweak). So for the example above if it does 70 blast damage its only going to draw the explosion as if it did 35.

This is useful if the explosion uses a different (more intense style) sprite and you only want it to display one of them, or if the blast has a pretty tight radius because its an armor piercing sorta warhead - and the large blast cloud you'd see isnt indicative of the 2 or 3 tile radius that it affects. Likewise a heavy shrapnel explosion that only goes "pop" but scatters damage over a big area, setting the explosion density low makes it look like a small explosion but then you see the actual damage pattern is pretty big for it.



damageAlter: (or damageBonus)
  directHitScale: 2.0
(or)
  directHit: 50

On a direct hit, an attack with a splash radius will have its power multiplied by this amount for the object that was struck (and that object only) before damage is rolled.  Ideal for emulating shaped charge warheads, or in general making it much nastier on a direct hit for any kind of explosive.

Alternatively you could insert is as a damageBonus which just raises the power by a flat value since it would do the same job.



damageAlter: (or damageBonus)
  selfSplashDamage: -40

This option reduces the splash damage (affects power before rolling, flat value) that the shooter of the attack takes. Everything else including the tile the shooter is in will be unaffected by this.

Useful for "I know im shooting this thing so I brace for it while firing", and also explosive crap fired from small grenade launchers which is also intended to be used at point blank range (giving an even bigger middle finger to the guy being shot by it). Also ideal for emulating a BFG.

Also ideal for HWPs and other enemies with built in explosive weapons so they can fire them at point blank range without fear of being killed by their own shots (though im not sure if the AI can be told to fire-without-abandon, the AI might still try to reposition itself to reduce self hurt)
« Last Edit: October 04, 2017, 02:17:45 am by RSSwizard »

Offline Meridian

  • Global Moderator
  • Commander
  • *****
  • Posts: 8597
    • View Profile
Re: [Suggestion] custom smoke, custom movement speed
« Reply #5 on: February 14, 2023, 09:07:56 am »
Custom movement speed was implemented here: https://openxcom.org/forum/index.php/topic,6586.msg145137.html#msg145137

Custom smoke is unlikely to happen, but here's a redirect for a dedicated task, just in case: https://openxcom.org/forum/index.php/topic,11051.0.html

Closing as done.