EpochModTeam / Epoch

Epoch Survival Game Mode for ARMA 3
http://epochmod.com/
Other
92 stars 82 forks source link

A plea for keeping a change ;) #905

Closed morgoth0 closed 7 years ago

morgoth0 commented 7 years ago

How did I even miss this commit on EpochCore: "test changing males base side to civillian". Shows how often I pull up the infiSTAR menu since players are colour-coded by side and I only noticed this morning.

My plea is to keep this change. It works perfectly!!!

Why? Because now all uniforms are unlocked for male characters; for some bizarre reason, all mod devs allow the side and CIV to wear uniforms, but not the non-CIV sides. This means that the "all players are BLUFOR" hack that myself and others use is now irrelevent and OPFOR is obviously freed for the second enemy faction.

One note that more justifies this as an issue is that it is very important that this go in the changelog and be highlighted. For example, if someone (server dev or mission addon designer) is using triggers to activate AI or native Ryan's spawns then they will need to change the conditions. My advice there would be to use the relatively new ANYPLAYER condition for a trigger.

Anyway, hope this helps. Thanks again Aaron!!! :)

Cheers, Grahame.

morgoth0 commented 7 years ago

And I just realised why I'd never noticed... when I updated EPOCH_loadplayer.sqf this morning I forgot to add my BLUFOR hack... Really happy for that mistake ;)

morgoth0 commented 7 years ago

Ah, one thing though. Do we not need to add:

RESISTANCE setFriend [CIV, 0]; EAST setFriend[WEST, 0];

and perhaps:

RESISTANCE setFriend [EAST, 0]; to server_init.sqf because isn't RESISTANCE friendly to CIV by default and new OPFOR AI need to not be friends with women???

https://community.bistudio.com/wiki/Side_relations

Ignatz-HeMan commented 7 years ago

No, we set the rating to -2000. That means every side is an enemy: https://github.com/EpochModTeam/Epoch/blob/experimental/Sources/epoch_code/compile/setup/masterLoop/init.sqf#L9 https://community.bistudio.com/wiki/addRating

morgoth0 commented 7 years ago

Ah, okay. Missed that one too

morgoth0 commented 7 years ago

That said, @xDrokz reported that RESISTANCE-sided Zs were not attacking him (not Epoch Zs, native Ryan's ones). Are you sure that -2000 is the level or is it -2001:

When the rating gets below -2000, the unit's side switches to "ENEMY" (sideEnemy) and the unit is attacked by everyone.(see Rating Values)

https://community.bistudio.com/wiki/addRating

morgoth0 commented 7 years ago

"The enemy side (used for renegades). Unit of this side is enemy to everyone. To become one, you can attack members of your own side or use addRating. When below a rating of -2000 units switch automatically to this side."

https://community.bistudio.com/wiki/sideEnemy

vbawol commented 7 years ago

Thanks for the feedback @morgoth0 ! I think we will keep this change, as it will allow for many more male uniforms and does not seem to have any real side effects other than requiring the negative rating to force all players to enemy side. This is needed because you cannot make the whole CIV side an enemy as AI will shoot walls and trees, etc.

Note: We also override changes via the HangleRating EH so that all players rating stays at -2000.

morgoth0 commented 7 years ago

Understood. And from what I understand they would not be able to use CIV vehicles either ;) Will be testing the level of addrating though. Was talking to @xDrokz after noticing this and he'd mentioned the RESISTANCE Z issue. If I see the same thing I will check with an addrating of -2001... BIS are normally pretty strict on wording and it is interesting, given the anecdotal reporting, that they say "below" not "at or below"

Ignatz-HeMan commented 7 years ago

Without addrating -2000 the Epoch AI's do not attack you. With this change, they do. So I think -2000 should be okay. But a test doesn't hurt

Ignatz-HeMan commented 7 years ago

image

morgoth0 commented 7 years ago

@Ignatz-HeMan The code that you have there is not related to attacks (and I've seen videos of civilians being infected and rising up after death) but I will investigate that further.

There is a config setting called "Civilian Attacks" in the Z settings for Ryan's and I can both confirm that I have it turned ON on my server and that the Zs are now ignoring me.

At the next restart in 3.5 hours I will change the addrating to be -2001 and see whether it makes a difference.

Ignatz-HeMan commented 7 years ago

Okay, was just a fast look into the code and saw that "civilian" check.

morgoth0 commented 7 years ago

NP. I will also delve into the Ryan's code again since if the standard Epoch adversaries attack you then so should vanilla Ryan's Zs. Anyway, worth investigating since there are a few others whose servers use vanilla Zs not Epoch Zs... and finding a fix now means we can help them get their servers working properly on 1.0 release

morgoth0 commented 7 years ago

Ah... it's related to a custom script some of us are running for generating and controlling zombies and hordes I think. It turns off civilian attacks by default!!! My bad! Will test at the next restart... damn!

morgoth0 commented 7 years ago

UPDATE: No that is not true. The value set is -1 which says inherit from Ryan's settings...

morgoth0 commented 7 years ago

I'm afraid that I can confirm that it is a problem (presumably with addrating). I just (took all my gear off) and TPed into the middle of a BlckEagl's mission. The OPFOR AI completely ignored me...

UPDATE: Just shot two of them and they still ignore me...

Ignatz-HeMan commented 7 years ago

Then please check this: https://github.com/EpochModTeam/Epoch/blob/experimental/Sources/epoch_config/Configs/CfgEpochClient.hpp#L160

and this: https://github.com/EpochModTeam/Epoch/blob/experimental/Sources/epoch_code/System/player_login.fsm#L629

Ignatz-HeMan commented 7 years ago

And this again: https://github.com/EpochModTeam/Epoch/blob/experimental/Sources/epoch_code/compile/setup/masterLoop/init.sqf#L9

and this: https://github.com/EpochModTeam/Epoch/blob/experimental/Sources/epoch_code/compile/setup/EPOCH_clientRevive.sqf#L78-L80

morgoth0 commented 7 years ago

Yes. I have all of that code in my mission file...

Ignatz-HeMan commented 7 years ago

what does "rating player" give you out?

morgoth0 commented 7 years ago

The only local code customisations to Epoch code I have running now are turning on TIE, turning off accelerated hunger/thirst loss and removal of toxicity from water. Apart from config turning off adversaries and min/max settings that's pretty much it now as far as core code goes.

morgoth0 commented 7 years ago

@Ignatz-HeMan -2000 20171007151125_1

morgoth0 commented 7 years ago

@Ignatz-HeMan I took more rating off me, TPed back and they nailed my arse...

Ignatz-HeMan commented 7 years ago

You are right, it must be -2001 !!! 20171007211720_1 20171007211723_1

ravmustang commented 7 years ago

@morgoth0 @Ignatz-HeMan Thanks guys for working this out, I had just noticed this behavior last night during tests

Ignatz-HeMan commented 7 years ago

Please give some Feedback after testing https://github.com/EpochModTeam/Epoch/commit/14c433581bea582830c37fb40f650e73577a91dc

morgoth0 commented 7 years ago

Organizing a time for an unscheduled restart as I type. Don't want my players (who did not report this issue, odd that?!?) getting too much free loot...

ravmustang commented 7 years ago

I can confirm this change is working in regards to side EAST AND WEST being enemies to clients. This test was performed with DMS_DeXileD prerelease

morgoth0 commented 7 years ago

Can confirm that with the new code the infected ate me and the OPFOR mission AI kicked my arse! :)

morgoth0 commented 7 years ago

Note that I was a male CIV character. Have not tested Female BLUFOR characters but the setfriend code in server_init.sqf already handled that on my server and the new addrating will mean that the vanilla code does not need changing.

Also, @Ignatz-HeMan thanks for finding that code snippet in Ryan's. I need to go away and check that to ensure that those of us using native Ryan's Zombies and who do utilise his infection mechanisms can still do so. That, however, is not an Epoch issue ;)

morgoth0 commented 7 years ago

Just one last thing now that the issue is resolved. I still think that this change should be noted in bold (with the uniform advantages) in the Changelog for those who do not use "ANYPLAYER" for their mission or other triggers. Recommendation is that given BIS were so nice to give us the ANYPLAYER trigger condition, it really should be used.

Ignatz-HeMan commented 7 years ago

Okay, thx for the Feedback. If we do not find any further problems, I think CIV will come into Epoch and @vbawol will note it in the Changelog. So I think it is solved and can be closed.

vbawol commented 7 years ago

Looks like this is going to be reverted, after all. The rating -2001 causes too many issues.

morgoth0 commented 7 years ago

Damn shame, but understood why. I will continue to use my "all players are BLUFOR fix". Really appreciate the effort to get this working. Will be talking to the CUP devs to alter their modelsides definitions. Someone should do the same if they have the contacts in the RHS community. Damn you Bohemia!!!