Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change: USA and China can now steal salvage crate from GLA #1677

Closed
wants to merge 3 commits into from

Conversation

xezon
Copy link
Collaborator

@xezon xezon commented Feb 11, 2023

With this change USA and China can now steal salvage crates from GLA simply by moving a unit over it. The crate will disappear with a sound. No rewards are given other than removing the crate from the world.

Rationale

This change mitigates the impact of the removal of the Scrap scaffold exploit with #1676. It replaces the original exploit with a graceful and readable game mechanic that is transparent to all players.

This is a major and visible change, but it may add additional depth to the game, as all players are now encouraged to race to Scrap Crates. Even though USA and China receive no direct rewards from it, preventing GLA from scrapping up to powerful units is a reward on its own.

The usefulness of this reward is underlined by the popularity of the original Scrap scaffold abuse among competitive top level players that this change aims to replace.

Salvage Crate pickup by GLA

Is as per Original.

generals.2023-02-12.00-03-36-94.mp4

Salvage Crate pickup by China

generals.2023-02-12.00-04-27-33.mp4

Salvage Crate pickup by USA

generals.2023-02-12.00-04-02-32.mp4

@xezon xezon added Design Is a matter of game design Controversial Is controversial Major Severity: Minor < Major < Critical < Blocker labels Feb 11, 2023
KindOf = PARACHUTABLE SELECTABLE ;Only Salvage crates are marked Selectable so the Mouse can interact with them and give Salvage voices. Being dead makes them not actually selectable
; Patch104p @fix xezon 11/02/2023 Adds missing crate flag.
; Patch104p @bugfix xezon 11/02/2023 Adds inert flag to avoid removal by scaffolds.
; Patch104p @bugfix xezon 11/02/2023 Removes selectable flag to avoid crate selecting over terrain.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SELECTABLE flag somehow caused issues for China and USA. With this flag it was not possible to click on the crate to order the unit to move to it, because the mouse click would select the Crate instead. Why this never was a problem with GLA is unclear.

ForbiddenKindOf = PROJECTILE
PickupScience = SCIENCE_CHINA
UnitCount = 0
UnitName = SalvageUnitDummy
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A unit has to be referenced here, otherwise this module does not work. So I created the SalvageUnitDummy object and set count to 0. So this spawns nothing but works to trigger the pickup. Perhaps we can also just use another existing object for it.

@@ -4414,11 +4414,11 @@ AudioEvent CrateMoney
End

AudioEvent CrateFreeUnit
Sounds = gcramona
Sounds = gsalvage2 ; Patch104p @tweak xezon 11/02/2023 From gcramona.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This originally played the money pickup sound for UnitCrateCollide event. I changed this to be a shortened version of the original Salvage sound, which fits better I think.

@@ -206,6 +210,22 @@ Object SalvageCrate
MaxMoney = 75
End

; Patch104p @feature xezon 11/02/2023 China can pickup this crate with no reward. Crate just vanishes with a sound and GLA cannot collect reward.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also tested the following, which does NOT work for some reason:

  Behavior = SalvageCrateCollide ModuleTag_SalvageCrateCollide_2
    ForbiddenKindOf = PROJECTILE
    PickupScience = SCIENCE_CHINA
    WeaponChance = 0%
    LevelChance = 0%
    MoneyChance = 100%
    MinMoney = 25
    MaxMoney = 75
  End
  Behavior = SalvageCrateCollide ModuleTag_SalvageCrateCollide_3
    ForbiddenKindOf = PROJECTILE
    PickupScience = SCIENCE_AMERICA
    WeaponChance = 0%
    LevelChance = 0%
    MoneyChance = 100%
    MinMoney = 25
    MaxMoney = 75
  End

And I tested the following which DOES work:

  Behavior = MoneyCrateCollide ModuleTag_MoneyCrateCollide_1
    ForbiddenKindOf = PROJECTILE
    PickupScience = SCIENCE_CHINA
    MoneyProvided = 100
    ExecuteAnimation = MoneyPickUp
    ExecuteAnimationTime = 4.0
    ExecuteAnimationZRise = 15.0
    ExecuteAnimationFades = Yes
  End
  Behavior = MoneyCrateCollide ModuleTag_MoneyCrateCollide_2
    ForbiddenKindOf = PROJECTILE
    PickupScience = SCIENCE_AMERICA
    MoneyProvided = 100
    ExecuteAnimation = MoneyPickUp
    ExecuteAnimationTime = 4.0
    ExecuteAnimationZRise = 15.0
    ExecuteAnimationFades = Yes
  End

So in theory we could also give America and China rewards on crate pickup, but they will not show money text on pickup. It will just play money sound and the dollar sign as with any other Money Crate.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, SalvageCrateCollide does work for USA and China. It does however require SALVAGER KindOf on all units.

And that in turn would enable GLA player with China and USA units to create Salvage Crates on kills via

CrateData SalvageCrateData
  CreationChance = 1.0
  KilledByType = SALVAGER
  KillerScience = SCIENCE_GLA ; Killed by a salvager unit owned by a GLA player
  CrateObject = SalvageCrate 1.0
End

But that side effect could be mitigated, by assigning ARMOR_SALVAGER to all GLA Salvager units and make that the requirement for the above SalvageCrateData.

So proper money-only Salvage Crates would be possible for China and USA, but would require bigger INI setup.

@xezon
Copy link
Collaborator Author

xezon commented Feb 12, 2023

Needs to be tested in Multiplayer.

@ImTimK
Copy link
Collaborator

ImTimK commented Feb 12, 2023

I don't like this option/implementation, it doesn't make much sense how it's visible for the other factions, but just disappears upon collision. I don't like money pickup either, even if it's a small amount.

Target-able/destroy-able/crush-able (with wreck/audio feedback like crushing cars) would be better, but still not sure if ideal.

@xezon
Copy link
Collaborator Author

xezon commented Feb 12, 2023

The problem with removing Crates by damage is that Crates would eventually disappear under random hits at where the crate is located in regular battle scenarios, for example by SCUD Launcher missile hit.

I played around with this change a bit and it is very satisfying to drive over the crates with Humvees :-)

@ImTimK
Copy link
Collaborator

ImTimK commented Feb 12, 2023

I think there are a few better options to migitate around the imbalances of (non-deniable) scraps.

  1. Trucks/dozers spawn money crates only.
  2. Tweak experience levels for Techs, easier scraps but vetting slower.
  3. Tweaking experience levels and DPS models of Quads. Fix: Invert Scale and Buff Quad Cannon Guns DPS #1054

@MTKing4
Copy link
Collaborator

MTKing4 commented Feb 12, 2023

Few notes here

  • with this change i predict a new meta will pop up where they would put at least 1 infantry in all transport units to auto deny scrap, units like vees, techs, chinas might mix more infantry with armies for quick deny, which i think is good for diversity
  • In every battle vs A GLA, it's always guaranteed to get at least 1 Scrap since you won't have anymore units around to deny the scrap, so it's not nearly as effective as scrap deny
  • this should go hand in hand with removing scrap rewards from dozers and trucks otherwise super techs mauraders will still own
  • I don't recommend messing with Units' damage, hp or xp requirements, the first two will change the game much more than this change does, and the latter will have no meaningful impact on the balance, super techs are still very strong even without the vet

@xezon
Copy link
Collaborator Author

xezon commented Apr 11, 2023

Too risky.

@xezon xezon closed this Apr 11, 2023
@xezon xezon deleted the fix-salvage-3-faction-pickup branch April 11, 2023 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Controversial Is controversial Design Is a matter of game design Major Severity: Minor < Major < Critical < Blocker
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Shall USA and China be able to collect scrap?
3 participants