-
-
Notifications
You must be signed in to change notification settings - Fork 125
AE attach/discard by health & ExtraWarheads & Aux/FeedbackWeapon & other tweaks #1643
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
base: develop
Are you sure you want to change the base?
AE attach/discard by health & ExtraWarheads & Aux/FeedbackWeapon & other tweaks #1643
Conversation
aa07aa9 to
7dc3739
Compare
7dc3739 to
14f124f
Compare
|
Nightly build for this pull request:
This comment is automatic and is meant to allow guests to get latest nightly builds for this pull request without registering. It is updated on every successful build. |
d3fc026 to
20b1282
Compare
…-discard-by-health-3 # Conflicts: # docs/Whats-New.md
575a0cf to
29f488e
Compare
29f488e to
7ecab6c
Compare
…-discard-by-health-3 # Conflicts: # docs/Whats-New.md
dc8a0a0 to
b305f80
Compare
…-discard-by-health-3 # Conflicts: # CREDITS.md # docs/Whats-New.md
b305f80 to
3b177b9
Compare
b88d0e0 to
05243c2
Compare
311984e to
a7db33e
Compare
…-discard-by-health-3 # Conflicts: # docs/New-or-Enhanced-Logics.md # docs/Whats-New.md # src/New/Entity/AttachEffectClass.cpp # src/New/Entity/ShieldClass.cpp # src/New/Type/AttachEffectTypeClass.cpp # src/New/Type/AttachEffectTypeClass.h
e74378a to
8c1d9d1
Compare
…-discard-by-health-3 # Conflicts: # docs/Whats-New.md # src/Ext/Techno/Body.h # src/Ext/Techno/WeaponHelpers.cpp
304eb54 to
eff2cf0
Compare
7c90b9b to
1830fd0
Compare
b429215 to
280b1c8
Compare
…-discard-by-health-3 # Conflicts: # CREDITS.md # docs/Whats-New.md # src/Ext/Bullet/Hooks.DetonateLogics.cpp # src/Ext/Techno/Body.Update.cpp # src/Ext/Techno/Hooks.ReceiveDamage.cpp # src/Ext/Techno/WeaponHelpers.cpp # src/Ext/WarheadType/Body.h # src/New/Entity/AttachEffectClass.cpp
…-discard-by-health-3 # Conflicts: # docs/Whats-New.md # src/Ext/Techno/Body.Update.cpp # src/New/Entity/AttachEffectClass.cpp # src/New/Entity/AttachEffectClass.h
…-discard-by-health-3 # Conflicts: # docs/New-or-Enhanced-Logics.md # docs/Whats-New.md # src/Ext/Bullet/Hooks.DetonateLogics.cpp # src/Ext/Techno/Body.Update.cpp
|
This is not a problem that needs to be solved currently, but I think we should think about it. |
|
I agree, however, an API (or maybe a scripting language) is a whole endeavour on its own. |
|
I'm not saying that we should create some 'Conquer Script' like SC2 did. |
# Conflicts: # CREDITS.md # docs/Whats-New.md
# Conflicts: # docs/Whats-New.md # src/Ext/Bullet/Hooks.DetonateLogics.cpp # src/Ext/Techno/WeaponHelpers.cpp # src/New/Entity/AttachEffectClass.cpp
A sequel of #1355. Was trying to use a generic condition group with many conditions for AE before, but it appeared to be quite laggy since it needed to be calculated on each techno with AE per frame. Hence, we had to abandon a group of unified conditions, and only add conditions when it's really needed. Together with some other tweaks here
Duration.ApplyVersus.Warheadis set, it can multiply the duration by the set warhead's versus against the target's armor type if it's not negative. Can't reduce duration to below 0 by a negative versus.DiscardOn.CumulativeCountis greater than 0, the effect is discarded when it hasCumulative=yesand been attached to the object more than this amount of times.DiscardOn.AbovePercentorDiscardOn.BelowPercentis set, the effect is discarded when the object's health percentage is above/below that value.AffectAbovePercentorAffectBelowPercentis set, the effect can be applied only when the object's health percentage is above/below that value.ExtraWarheads. The warheads are detonated at same location as the main one, after it in listed order. This only works in cases where a projectile has been fired by a weapon and still remembers it when it is detonated (due to currently existing technical limitations, this excludesAirburstWeapon).ExtraWarheads.DamageOverridescan be used to override the weapon'sDamagefor the extra Warhead detonations. Value from position matching the position fromExtraWarheadsis used if found, or last listed value if not found. If list is empty, WeaponTypeDamageis used.ExtraWarheads.DetonationChancescan be used to customize the chance of each extra Warhead detonation occuring. Value from position matching the position fromExtraWarheadsis used if found, or last listed value if not found. If list is empty, every extra Warhead detonation is guaranteed to occur.ExtraWarheads.FullDetonationcan be used to customize whether or not each individual Warhead is detonated fully (as part of a dummy weapon) or simply deals area damage and applies Phobos' Warhead effects. Value from position matching the position fromExtraWarheadsis used if found, or last listed value if not found. If list is empty, defaults to true.ExtraWarheads.ApplyFirepowerMultdetermines whether or not the extra warheads' damage should multiply the firer's firepower multipliers. Value from position matching the position fromExtraWarheadsis used if found, or last listed value if not found. If list is empty, every extra Warhead detonation is guaranteed to occur.ExtraWarheads.UseInvokerAsOwnercan be used to set the house and TechnoType that created the effect (e.g firer of the weapon that applied it) as the weapon's owner & invoker instead of the object the effect is attached to. Value from position matching the position fromExtraWarheadsis used if found, or last listed value if not found. If list is empty, defaults to false.[Warheads]for them to work.FireInTransportsetting of the auxiliary weapons are respected to determine if it can be fired when the original weapon is fired from insideOpenTopped=truetransport. If auxiliary weapons are fired, it is fired on the transport.OpenToppedDamageMultiplieris not applied on auxiliary weapons.AuxWeaponis fired at the original target, or another nearby target ifAuxWeapon.Retargetset to true.AuxWeapon.Offsetdefines the relative position to the firer that the auxiliary weapon will be fired from.AuxWeapon.FireOnTurretdefines if the FLH is relative to the turret rather than the body.AuxWeapon.UseWeaponTargeting, if set to true, enables weapon targeting filter for when checking targets for auxiliary weapon. Target'sLegalTargetsetting, WarheadVersesagainstArmoras well asAirburstWeaponweapon targeting filters & AttachEffect filters will be checked.AuxWeapon.ApplyFirepowerMultdetermines whether or not the auxiliary weapon's damage should multiply the firer's firepower multipliers.AuxWeapon.Retarget.AroundFirerdetermines whether the original target or the firer will be the center of the retargeting.AuxWeapon.Retarget.Rangedetermines the radius of the retargeting, default to the auxiliary weapon'sRangeif the center is the firer, and 0 if the center is the original target.AuxWeapon.Retarget.Accuracydefines the probability that the auxiliary weapon is fired to the original target.AuxWeapon.UseInvokerAsOwnercan be used to set the house and TechnoType that created the effect (e.g firer of the weapon that applied it) as the weapon's owner & invoker instead of the object the effect is attached to.FeedbackWeaponis fired at the firer.FeedbackWeapon.UseInvokerAsOwnercan be used to set the house and TechnoType that created the effect (e.g firer of the weapon that applied it) as the weapon's owner & invoker instead of the object the effect is attached to.KillWeaponwill be fired at the target TechnoType's location once it's killed by the attached object.KillWeapon.OnFirerwill be fired at the attacker's location once the target TechnoType is killed the attached object. IfKillWeapon.OnFirer.RealLaunchset to true, the weapon will be fired through a real projectile from the TechnoType to the attached object.KillWeapon.AffectsHouses/KillWeapon.OnFirer.AffectsHousesandKillWeapon.Affects/KillWeapon.OnFirer.Affectscan be used to filter which houses targets can belong to and which types of targets are be considered valid forKillWeaponandKillWeapon.OnFirerrespectively.SuppressKillWeaponsset to true, it will not triggerKillWeaponorKillWeapon.OnFirerupon being killed.SuppressKillWeapons.Typescan be used to list WeaponTypes affected by this, if none are listed all WeaponTypes are affected.RevengeWeapon.RealLaunch/KillWeapon.OnFirer.RealLaunchset to true, the weapon will be fired through a real projectile from the TechnoType to the killer.RevengeWeapon.UseWeaponTargeting, if set to true, enables weapon targeting filter for when checking targets for revenge weapon. Target'sLegalTargetsetting, WarheadVersesagainstArmoras well asAirburstWeaponweapon targeting filters & AttachEffect filters will be checked.NegativeDamage.Multiplierwill be multiplied on the negative damage taken by the attached object. This includes both negativeDamageand negativeVerses.in
rulesmd.ini: