Jump to content
zbug

[MP][CTI-COOP] Liberation (beta)

Recommended Posts

I've been playing the mission the entire day with a friend and it's a lot of fun.  There is however one annoying bug and it's not the first mission this occurs in.  I also had it with one of the domination variants.  Once it starts raining it NEVER Stops; sometimes it stops for like a minute maybe two and then pourring again.  There must be a bug in the weather script used by people, it's depressing as hell having to play in rain all the time.  Other then that I didn't seem to come across any major bugs yet.

 

I can see a lot of work went into this one nicely done !

 

If there is one minor thing to note, you can't lose the mission.  If you play long enough, and respawn enough you will always win.  There is no threat of losing.  Maybe after a certain level of alert is reached, something could happen (don't know what yet), that would make the players lose if they don't do something.  Another thing you could do is keep a hidden score, once you win you could give a ranking fe:

 

- Excellent (You managed to take back the island with a minimal loss on allied life)

- Great (You took back the island, although many lives where lost)

- Fine (The people of the island are great full although the allied forces have been weakened considerably)

- Mediocre (We got the island, but for the next decade the allied will not be able to make any meaningful impact in conflicts)

- Terrible (The island is ours, but at what cost,  our forces are decimated any attack now would end in devastating results)

  • Like 1

Share this post


Link to post
Share on other sites

About the weather, the issue everyone is running into is that the game has a default random weather behaviour that cannot be halted, and it really gets in the way when using accelerated time.

 

I've made changes in v0.911 so my own weather behaviour tries to overcome those random changes, and that seems to work, mostly. However there's also a chance of heavy overcast + rain so maybe you weren't lucky and drew overcast two times in a row which makes 1 hour of constant terrible weather.

 

Losing conditions have one terrible side effect for people who have a public server: random players might trigger them and void the entire campaign. I'd rather work at making the CSAT more aggressive, which has been happening for a few versions now and again more in the next one.

  • Like 1

Share this post


Link to post
Share on other sites

Hey Still enjoying the mission, we have noticed a rather annoying issue where we have cleared a zone then a load of AI spawn on us and usually the Offroad HMG (which has a horrific gunner hit box) mows us all down. 

 

It's also been noted that we loose weapons on re-spawn even though there is arsenal it just feels like a waste of time to have to gear up again (The mechanism overrides ACE gear saving.) 

Share this post


Link to post
Share on other sites

About the weather, the issue everyone is running into is that the game has a default random weather behaviour that cannot be halted, and it really gets in the way when using accelerated time.

 

I've made changes in v0.911 so my own weather behaviour tries to overcome those random changes, and that seems to work, mostly. However there's also a chance of heavy overcast + rain so maybe you weren't lucky and drew overcast two times in a row which makes 1 hour of constant terrible weather.

 

Losing conditions have one terrible side effect for people who have a public server: random players might trigger them and void the entire campaign. I'd rather work at making the CSAT more aggressive, which has been happening for a few versions now and again more in the next one.

 

If it is a random draw you might want to consider removing the previous draw from the pool of random weather types.  However it's your creative decision of course :)  Now just to clarify, I must either have been really unlucky or something isn't quite right, cause we played for over six real time hours, and had rain for at least the last four of those.  I believe we played with one day being one hour and hafl ?  So that was at least three draws then from the pool ?  I hope BI will give us an option to disable their weather system and we can implement our own that can handle time acceleration.

Share this post


Link to post
Share on other sites

You may indeed have been unlucky, and you can't make any statistical conclusions based on only a few draws. That's if you've been playing with the latest version (v0.911), because before that the BIS weather system was causing most of the issues

 

Other than that I've just tweaked the damage and armor handling system in a very satisfying way. It will take some time and tries to get it 100% right, but already wearing some heavy armor and ECH makes a much bigger difference than before, especially against lots of small caliber bullets. Sniper rounds will still hurt a lot :p

Share this post


Link to post
Share on other sites

You may indeed have been unlucky, and you can't make any statistical conclusions based on only a few draws. That's if you've been playing with the latest version (v0.911), because before that the BIS weather system was causing most of the issues

 

Other than that I've just tweaked the damage and armor handling system in a very satisfying way. It will take some time and tries to get it 100% right, but already wearing some heavy armor and ECH makes a much bigger difference than before, especially against lots of small caliber bullets. Sniper rounds will still hurt a lot :P

 

True more draws would be needed for some real data.  Would be nice if you could call a REST service or something with each draw or google analytics for finding out :)

 

What version of FAR revive are you using 1.5 or 1.5.1 ?  There was a bug in 1.5 that getting shot in the arm or leg would result in instant death.  I fixed that one and farooq merged it into his release a few months back.  From your last paragraph it seems you might mitigate damage on a different level ?

Share this post


Link to post
Share on other sites

Haha yeah I corrected that bug on my end too. However you should know that there's many more non-vital parts than just "hands" and "legs". For example "neck" isn't a vital part (at least in arma...), yet it gets damaged extremely often with extremely high damage values, resulting in most the the incapacitated states triggered by FAR revive once you've excluded hands and legs.

 

From my tests here's all the non-vital parts that can take more than 100% damage without resulting in player death (so it shouldn't result in player incapacitation either)

"hands", "legs", "spine1", "spine2", "spine3", "pelvis", "neck"

The mitigation is something else. I've done that because to put it bluntly, ingame armor values make no sense at all.

- "armor" seems to be used for explosion resistance, and is being shown on the arsenal view as "armor".

- "passThrough" seems to be used for bullet penetration resistance, and it's not being shown. Nowhere. Nada. It's the most important info and it's basically hidden.

 

Now that wouldn't mean much if "armor" and "passThrough" were close (both high for heavy armor for example), but they aren't. If you take the plated GL carrier, the armor is 100, and passthrough is 0.7, or 70%. If you take the carrier special rig, armor is 40, passthrough is 0.1. Yep, 10%, meaning that shiny DLC vest will turn you into an absolute tank. And I've tested extensively it and it's insane, without any meddling from FAR revive the carrier special rig can take 6 to 7 MX bullets, the plated GL no more than 2, despite having the highest "armor" value in the entire vanilla equipment.

 

So I've made a little addition to the damage handling to even out all the gear and make every heavy armor relevant, by using values straight from the config so that should work with mods too. Solo tests were very pleasing, with heaviest armor making the player resistant but not invincible, since legs and hands are unprotected and point blank chest shots will still incapacitate almost instantly.

 

Here's the full thing, plugged into FAR revive:

 

FAR_HandleDamage_EH =
{
 
params [ "_unit", "_selectionName", "_amountOfDamage", "_killer", "_projectile", "_hitPartIndex" ];
private [ "_isUnconscious", "_olddamage", "_damageincrease", "_vestarmor", "_vest_passthrough", "_vestobject", "_helmetarmor",  "_helmet_passthrough", "_helmetobject", "_cfg" ];
 
_isUnconscious = _unit getVariable "FAR_isUnconscious";
 
_oldDamage = damage _unit;
switch ( _selectionName ) do {
case("head") :{_oldDamage = _unit getHitPointDamage "HitHead";};
case("body") :{_oldDamage = _unit getHitPointDamage "HitBody";};
case("hands") :{_oldDamage = _unit getHitPointDamage "HitHands";};
case("legs") :{_oldDamage = _unit getHitPointDamage "HitLegs";};
case("spine3")  :{_oldDamage = _unit getHitPointDamage "HitChest";};
case("spine2")  :{_oldDamage = _unit getHitPointDamage "HitDiaphragm";};
case("spine1")  :{_oldDamage = _unit getHitPointDamage "HitAbdomen";};
case("pelvis")  :{_oldDamage = _unit getHitPointDamage "HitPelvis";};
default{};
};
_damageincrease = _amountOfDamage - _oldDamage;
 
_vestarmor = 0;
if ( _selectionName in [ "body", "spine1", "spine2", "spine3", "pelvis", "" ] ) then {
_vestobject = vest _unit;
 
if ( _vestobject != ""  ) then {
_vestarmor = ( (configFile >> "CfgWeapons" >> _vestobject >> "ItemInfo" >> "armor" ) call BIS_fnc_GetCfgData ) / 75.0;
_vest_passthrough = ( (configFile >> "CfgWeapons" >> _vestobject >> "ItemInfo" >> "passThrough" ) call BIS_fnc_GetCfgData );
if ( _vest_passthrough < 0.6 ) then { _vestarmor = _vestarmor * _vest_passthrough * 1.6666666 };
if ( _vestarmor > 0.75 ) then { _vestarmor = 0.75; };
};
};
 
_helmetarmor = 0;
if ( _selectionName in [ "head", "neck", "" ] ) then {
_helmetobject = headgear _unit;
 
if ( _helmetobject != ""  ) then {
_helmetarmor = ( (configFile >> "CfgWeapons" >> _helmetobject >> "ItemInfo" >> "armor" ) call BIS_fnc_GetCfgData ) * 0.12;
_helmet_passthrough = ( (configFile >> "CfgWeapons" >> _helmetobject >> "ItemInfo" >> "passThrough" ) call BIS_fnc_GetCfgData );
if ( _helmet_passthrough < 0.6 ) then { _helmetarmor = _helmetarmor * _helmet_passthrough * 1.6666666 };
if ( _helmetarmor > 0.6 ) then { _helmetarmor = 0.6; };
};
};
 
if ( _selectionName == "" ) then {
_vestarmor = _vestarmor * 0.7;
_helmetarmor = _helmetarmor * 0.5;
};
 
_amountOfDamage = _oldDamage + ( _damageincrease * ( 1 - _vestarmor ) * ( 1 - _helmetarmor ) );
 
if (alive _unit && _amountOfDamage >= 1.0 && _isUnconscious == 0 && !(_selectionName in [ "hands", "legs", "spine1", "spine2", "spine3", "pelvis", "neck" ])) then
{
_unit setDamage 0.6;
_unit allowDamage false;
_amountOfDamage = 0;
[_unit, _killer] spawn FAR_Player_Unconscious;
};
 
_amountOfDamage
};

Share this post


Link to post
Share on other sites

Nice that would make the FAR revive a bit more fun to play. 

 

I played again with my pal today and we ran into a little snag, not sure it is the mission since I looked at the code and is seems sound logic.  We couldn't repair anything with a repair truck.  He was playing an engineer and I was as a medic.  Our mobile respawn was in bad shape so we drove a HEMTT repair truck towards is but no context menu appeared to repair it.  He could repair with his repair kit but only partially a full repair we couldn't pull of.  Maybe a bug in Arma itself or we didn't knew how to use the repair.  My first guess was we had to deploy the truck but didn't seem to need that.  Then I spawned a repair box but that didn't help either.

 

So either we did something wrong, or something isn't as it should be :(

Share this post


Link to post
Share on other sites

Nope it's a bug in Arma that we noticed too, most of the time you won't be able to repair the Huron at all. All the repairing logic in the mission is 100% vanilla and maybe that's the problem ;)

  • Like 1

Share this post


Link to post
Share on other sites

Nope it's a bug in Arma that we noticed too, most of the time you won't be able to repair the Huron at all. All the repairing logic in the mission is 100% vanilla and maybe that's the problem ;)

 

Well if it's a vanilla problem how about going around it.  Let the repair vehicle deploy, when you do you spawn a marker at the location of deploy.  Create a monitor thread on the server, when an object comes in 20 meter radius and at speed 0 with damage, start a repair until damage is 0.  An undeploy would remove the marker and kill the monitor thread.  A bit of work but doable I guess ?

Share this post


Link to post
Share on other sites

Definitely doable ;)

 

v0.912 is out

 

Changelog:

  • Damage resistance when wearing heavy armor and heavy helmets has been increased. Of course it's only interesting if bullets hit the armor, as damage is always localized.
  • You can now choose your loadout from the deployment screen.
  • You can now save the loadout you want to respawn with.
  • You can now copy the loadout of any other player on the server.
  • When incapacitated, if you have AIs from your group nearby, you can instantly replace them, and keep fighting. Until you run out of AIs.
  • Various tweaks to the CSAT aggressivity and vehicle/infantry ratio.
  • Like 2

Share this post


Link to post
Share on other sites

I edited the ui\mission_params.hpp so the default setting for the maximum amount of AI units would be set to 50% but when I fire up the server it shows as blank.  Any idea what's causing this? I want this setting (along with disabling fatigue) to be the defaults so when I host on my dedicated server nobody needs to remember to change these settings.

Share this post


Link to post
Share on other sites

Yes, in the params class you can't use a decimal value like 0.5 as the default value. To solve the problem you can define the default config in the cfg of your dedicated server. That would also allow you not to change anything in the mission itself with each new version. If needed you can look at the wiki to see how it's done :)

Share this post


Link to post
Share on other sites

Hi,

 

would anybody be so kind to help me.

I want to replace the Atlas with the USS Nimitz. I want to use a F18 with all possibilities. Sadly I do not know much about things like this.

 

 

Thank you very much.

Share this post


Link to post
Share on other sites

 

Definitely doable ;)

 

v0.912 is out

 

Changelog:

  • Damage resistance when wearing heavy armor and heavy helmets has been increased. Of course it's only interesting if bullets hit the armor, as damage is always localized.
  • You can now choose your loadout from the deployment screen.
  • You can now save the loadout you want to respawn with.
  • You can now copy the loadout of any other player on the server.
  • When incapacitated, if you have AIs from your group nearby, you can instantly replace them, and keep fighting. Until you run out of AIs.
  • Various tweaks to the CSAT aggressivity and vehicle/infantry ratio.

 

 

I'll test it this weekend with my buddy, I did altered it a bit though ... I edited the weather so it never has an overcast > 0.75 so no rain ... EVER ... With the weather system it just kept on raining and raining.  We had a discussion on this with being unlucky on the draw, but even after three days the rain never stopped.  So until BIS fixes the weather thing together with time dialation I rather just have rain off.  Maybe create a mission parameter for it so it is configurable

Share this post


Link to post
Share on other sites

Just registeres to comment here :D

 

We LOVE your mission. So big thanks at that point :)

 

We have some suggestions:

Would you be able to limit the HaloJump to 1 Jump per player every 10 minutes? We have some player that overuse this feature.

And it would be cool to be able to "reuse" enemy and own tanks for resources. Maybe even get them lifted away with the chopper and bring them to a point to get it.

 

2 More things:

This chopper instead of the Helicopter DLC Huron http://www.armaholic.com/page.php?id=25580because some don't have it and it is really useful.

 

and This one http://www.armaholic.com/page.php?id=29225 additionalto the Little Birds :)

Would be great!

 

I will keep an eye on this (and can't wait to "someday" try the Bornholm version)

 

Till now. Thanks again for the great mission and see you on the Battlefield!

 

Greetings

Nex

Share this post


Link to post
Share on other sites

We're having the same negative ammo issue on a new vanilla dedicated server that someone else posted about a few weeks ago.  The server does have passive resources enabled.  This happened while I was online, but I really couldn't tell what the trigger was for it to go from positive 43 to -432.  I was in the middle of building vehicles but I'm not sure exactly what vehicle may have caused it.  I'll try and post more if I figure out how to replicate anything.

Share this post


Link to post
Share on other sites

My group and I have had a lot of fun with your mission and I'm grateful you've made it available on Github. My group wanted ACE3 and RHS units incorporated into the mission. Being able to fork your repo and add those changes as a separate branch will make it trivial to keep our particular offshoot of your mission up to date with new releases; its as simple as fetching upstream commits then merging my own feature branch. Thanks!

Share this post


Link to post
Share on other sites

Would you be able to limit the HaloJump to 1 Jump per player every 10 minutes? We have some player that overuse this feature.

 

Noted on Trello, I'll add a new mission parameter to set the cooldown, disabled by default

 

 

And it would be cool to be able to "reuse" enemy and own tanks for resources. Maybe even get them lifted away with the chopper and bring them to a point to get it.

 

I'm not sure I understand, could you explain? There's a recycle option for NATO tanks when you're near a fob, and CSAT tanks can't be recycled because they're free, so there's no reason to get rid of them. But maybe that's absolutely not what you were talking about so feel free to explain.

 

This chopper instead of the Helicopter DLC Huron http://www.armaholic.com/page.php?id=25580because some don't have it and it is really useful.

 

and This one http://www.armaholic.com/page.php?id=29225 additionalto the Little Birds  :)

 

Mandatory mods are an absolute no-go as it would force everyone to install every required mod. However you can easily replace the huron with any helicopter of your choice in your own version of liberation, all you need is to edit classnames.sqf and replace the value of "huron_typename".

Same for your second mod, you can add anything to the build menu from the same file.

 

 

We're having the same negative ammo issue on a new vanilla dedicated server that someone else posted about a few weeks ago.  The server does have passive resources enabled.  This happened while I was online, but I really couldn't tell what the trigger was for it to go from positive 43 to -432.  I was in the middle of building vehicles but I'm not sure exactly what vehicle may have caused it.  I'll try and post more if I figure out how to replicate anything.

 

I'd really need your server and client logs to see what happened here. It's only the second time this bug is reported since the mission exists, and we never got it on our server. Logs or precise reproduction steps would really really help. In the meantime you can revert the damage by logging as admin, going into the debug console, and correct the ammo value with this line:

resources_ammo = 43; publicVariable "resources_ammo";

 

My group and I have had a lot of fun with your mission and I'm grateful you've made it available on Github. My group wanted ACE3 and RHS units incorporated into the mission. Being able to fork your repo and add those changes as a separate branch will make it trivial to keep our particular offshoot of your mission up to date with new releases; its as simple as fetching upstream commits then merging my own feature branch. Thanks!

 

Well, thanks but here it's the github devs who deserve all the praise for doing such a great tool ;)

I'm just trying not to refactor classnames.sqf from now on, to avoid creating huge conflicts in the forks.

  • Like 2

Share this post


Link to post
Share on other sites
Well, thanks but here it's the github devs who deserve all the praise for doing such a great tool ;)

I'm just trying not to refactor classnames.sqf from now on, to avoid creating huge conflicts in the forks.

 

Well tbh you shouldn't worry to much about merge conflicts it's just a way of life for developers, however I would appreciate if you would make the weather optional as well.  I can do it myself , but rather have it in the main master then in a forked repo :)

Share this post


Link to post
Share on other sites

Well tbh you shouldn't worry to much about merge conflicts it's just a way of life for developers, however I would appreciate if you would make the weather optional as well.  I can do it myself , but rather have it in the main master then in a forked repo :)

Noted

  • Like 1

Share this post


Link to post
Share on other sites

Another problem our server is having is invisible weapons on the enemy AI.  not all AI has this problem, but a large portion do.  You can't hear shots coming from these weapons so often you'll get hit and not know where it came from.  The AI is holding their hands up like they have a weapon, but none is seen.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×