Skip to content

Conversation

@Starkku
Copy link
Contributor

@Starkku Starkku commented Apr 6, 2022

  • You can now set laser to draw using only LaserInnerColor by setting IsSingleColor, in same manner as IsHouseColor lasers do using player's team color. These lasers respect laser thickness.

In rulesmd.ini:

[SOMEWEAPON]         ; WeaponType
IsSingleColor=false  ; boolean

Additionally, fixed single-color laser (IsHouseColor, IsSingleColor, LaserTrails) laser glow falloff to match the vanilla appearance.
laserfalloffn
In order from left to right: original game behaviour, the old Phobos behaviour, new Phobos behaviour.

NOTE: This change will affect appearance of existing laser trails, modders may need to review their settings / values.

Closes #410

@github-actions
Copy link

github-actions bot commented Apr 6, 2022

Nightly build for this pull request:

@Metadorius
Copy link
Member

I think this one will break any such laser from using LaserOuterColor and Spread because housecolor lasers are different and don't use those.

@Starkku
Copy link
Contributor Author

Starkku commented Apr 6, 2022

I think this one will break any such laser from using LaserOuterColor and Spread because housecolor lasers are different and don't use those.

Yeah that is probably the case. Still this only applies if LaserThickness is set. Regular thin lasers will draw normally. Admittedly this is not a proper fix, but would still allow people to make better use of LaserThickness for certain types of weapons. Not sure if simply mentioning this shortcoming in documentation would be enough.

@Starkku
Copy link
Contributor Author

Starkku commented Apr 6, 2022

Changed the feature to apply if IsSingleColor is set on the laser weapon. Additionally fixed the laser glow falloff to match vanilla appearance, without compromising ability to use higher thickness. The new formula is sort of an exponential decay one, if someone better versed in math wants to review it for possible simplification and/or improvement, feel free to do so.

@Starkku Starkku changed the title Apply laser thickness on non-housecolor weapon lasers Single-color lasers (that respect thickness) & laser glow improvements Apr 6, 2022
@Metadorius
Copy link
Member

@sKyHigh3110 can you test the pull request?

@sKyHigh3110
Copy link

@sKyHigh3110 can you test the pull request?

i will be back to the pull request when finish testing tmr tks!

@Starkku Starkku force-pushed the fix/laser-thickness branch from 2be9a0b to d468ecd Compare April 9, 2022 21:19
- IsSingleColor can be set on laser weapon to draw a single-color laser akin to IsHouseColor using only LaserInnerColor
- Fixed laser glow falloff of single-color lasers to match that of vanilla game
@Starkku Starkku force-pushed the fix/laser-thickness branch from d468ecd to bfaa5e1 Compare April 10, 2022 16:45
@Starkku Starkku merged commit 1d4a09e into Phobos-developers:develop Apr 10, 2022
@Starkku Starkku deleted the fix/laser-thickness branch April 10, 2022 16:51
Loritas pushed a commit to Loritas/Phobos that referenced this pull request Apr 17, 2022
Move LaserTrailType to avoid false alarm due to parse order

Fix hook position for SplashList

Simplified declaration of TActionExt functions

Shield / misc. fixes & improvements (Phobos-developers#486)

* Fix shield issues on TechnoType change.

* Decloak shielded objects if shield takes damage, allow toggling off decloaking of damaged objects on per warhead basis.

* Fix negative shield self-healing.

Added Production and money (Phobos-developers#485)

when a factory/resource structure is selected

Occupied Buildinng MuzzleFlashX Bug Fix (Phobos-developers#465)

* Init Feature

* test vcxproj

* Apply fixes to code style

* Rename variable

* Resolve

* Remove `Templated`

Co-authored-by: Meta <crabiter@vivaldi.net>

Infantry DeployFireWeapon change (Phobos-developers#189)

* Phobos-developers#25 If `DeployFireWeapon=-1`, deployed infantries will fire both weapon.

* add whats-new and credits

* fix grammer a little

* add and fix cn translation

Power delta counter for the sidebar (Phobos-developers#491)

* Works, untested

* Docs, credits, alignment

Script actions 99-110 (Phobos-developers#402)

* Script actions 99-109

All the remaining from PR 296.

* small fix

* Changes suggested by the last review

* Reverted some code that make crashes

* Fix small mistakes

When restoring code I though those code blocks were the same.

Added a possible bugfix that could interrumpt the attack script in very rare cases.

* restore missing hook

1 hook for saving the Team kills was lost during the merges.

* post-merge fix in Readme file

* Added the last Action 110

* Fixed bug in Action Argument 20 & new argument 35

Argument 35 is the old Argument 20 that covers Land vehicle factory and Naval factory.

Now Argument 20 ignores Naval factories

* Fixes and small improvements

* Changed the 103,0 behavior due to feedback

Gallback to CloseEnough value in Rulesmd.ini

* Point to latest YRpp

* Changes in how is stored the selected target

* Added function for finding the Team Leader

helper function

* Fix a potential crash

* fix missing break statement

* · Fixed bug that made AI pick dead units as targets.
· Replaced Armor comparison when selecting possible new targets by a new comparison based on total damage produced by the selected weapon.
· Fixed "Case 33" in EvaluateObjectWithMask(...)
· Small tweaks in Debug lines.

* improvement for unknown actions

* small change

Add 🅱orton to the list of devs

Action Script 113: Conditional skip next action (Phobos-developers#419)

* Initial commit

In this Action 113, the argument is a percentage value from (integer from 0 to 100) and is the success rate for skipping the next script action (instead of jumping to the line n+1 it would jump to n+2).

* fix the percentage check

* fix

* Small fix in a debug string

* fix string

I modified the wrong string in the last commit

* point to latest YRpp

* Update Body.cpp

* Added the docs

* small tweak

* improvement for unknown actions

* Grouping actions in docs

* Reorder functions

Co-authored-by: Kerbiter <crabiter@vivaldi.net>

Increment version

Fix changelog

Update CN Translation

Fix incorrect return address for animation layer customization.

Fix Shield.Penetrate not being affected by Shield.AffectTypes.

Fix a missing shield penetration check.

Fix target evaluation to use target's shield's current armor type.

Remove wrong ! operator

Fix wrong default value of PowerDelta docs

Fix extra trailing spaces in all files

Fix the counter having incorrect color when drain > 0 and output == 0 (Phobos-developers#494)

Some tweaks in the new Attack function and helper function (Phobos-developers#496)

Refactor ExtendedToolTip (Phobos-developers#476)

* Fix extra trailing spaces in all files

* Refactor it

* Add a comment

* Code style fix

* Stupid bugfix

* Make the refactored code behaves the same like the not refactored one

* Rebase and fix SW label append

* Update YRPP

Co-authored-by: Belonit <Belonit@ya.ru>

Fix issue 474 (Phobos-developers#498)

PassengerDeletion.Rate did not work properly.

Remove Abandoned file

Added mention about shield BreakWeapon requiring explicitly listed WeaponType.

Why there is someone writes a negative recharge time?

No .vswhere but .vsconfig

update cn translation

Update Laser Trails after Convert.Deploy transformation (Phobos-developers#516)

* Fix Convert.Deploy and Laser Trail combination

Convert.Deploy is an Ares tag and need an extra check for loading the right Laser Trails when the unit is transformed.

* Change the Hook name

Due to Phobos code style.

Added PassengerDeletion.Anim (Phobos-developers#499)

* Added PassengerDeletion.Anim

Added PassengerDeletion.Anim tag. Added 1 optional animation when the passenger is erased.

* Applied suggested changes

apply isset() comparison for nullptr values amd documentation fix

Allow `EnemyUIName` to be used for other TechnoTypes (Phobos-developers#506)

* init feature

* style fix

Some simple addition to Terrain type  (Phobos-developers#427)

* InitFeatures

* `Strength` removed

it is already part of `ObjectTypeClass::ReadINI`

* Style  Fix

* Further style fix.

Co-authored-by: Starkku <starkku.ppmod@gmail.com>

Add documentation for TerrainType DestroyAnim/Sound

Update README.md

Make jumpjets crash correctly if killed while pulled by Locomotor WH (Phobos-developers#525)

Lasertrails fixes when units enter/leave transports (Phobos-developers#519)

* Lasertrails fixes when units enter/leave transports

* reworked code

Fix issue with AutoFire not reliably working on AI-owned objects (especially buildings)

Adapt the lastest YRPP changes

Customization of the storage resource (Phobos-developers#524)

* Customization of the storage resource

[General] > Storage.TiberiumIndex=-1
This new tag set which type of Tiberium (from [Tiberiums] list) is used for storage, making it more easy to respect/calculate money limitations.

It needs Ares Storage activation for working.

* Updated with reported feedback

Co-authored-by: Uranusian <45818100+Thrifinesma@users.noreply.github.com>

Co-authored-by: Uranusian <45818100+Thrifinesma@users.noreply.github.com>

Self-fire weapons on warping in / out (Phobos-developers#515)

* Add self-fire weapons on warping in / out

* Add further customizations

* Minor fixes.

- Allocate weapons if not found.
- Code style changes.

Co-authored-by: Kerbiter <crabiter@vivaldi.net>

Grinder improvements / additions (Phobos-developers#518)

Replace DeployDir customization with DeployingAnim.AllowAnyDirection (Phobos-developers#507)

- This is to remove parsing conflicts with Ares

Fixes, tweaks and optimizations of Attack and Move actions (Phobos-developers#521)

* Fixes, tweaks and optimizations of Attack and Move actions

- Fixed 2 rare cases that made the team units unable to execute the script action at some point.
- Now the wait timer when the action didn't find a valid object won't share the timer.
- Removed pTeam->Focus will store (again) the selected target.
- Some tweaks.

* fix mistake

Removed some lines that are part of a different PR and that produces compilation errors here.

* Applied suggestions from code review

Co-authored-by: Uranusian <45818100+Thrifinesma@users.noreply.github.com>

* Point to last YRpp

* Fixing a variable name

Co-authored-by: Uranusian <45818100+Thrifinesma@users.noreply.github.com>

Allow centering attached anims on object center (Phobos-developers#536)

Negative result of `Random.Random()` cause crash fix

Shrapnel enhancement (Phobos-developers#538)

* Sharpnel enhancement

* Try to switch to Windows-2019

* Fix spelling

* Remove Shrapnel.Forced, Add Shrapnel.AffectsGround

Shared Ammo from OpenTopped transports to passengers (Phobos-developers#539)

Critical damage chance additions (Phobos-developers#511)

* Critical damage chance additions

- `Crit.AffectBelowPercent` can be used to set maximum percentage of hitpoints targets (if applicable) can have left to be affected.
- `Crit.AnimList.PickRandom` determines if a random animation from `Crit.AnimList` is picked or not. Defaults to `AnimList.PickRandom`.
- `Crit.AnimOnAffectedTargets`, if set, draws animation on every affected target (randomized separately every time if `Crit.AnimList.PickRandom` is in effect) instead of once at Warhead's impact location if critical damage chance roll was successful.

* Add Crit.Warhead

* Further changes / additions.

- Add `Crit.ApplyChancePerTarget`, which if set makes critical hit chance determined individually for each target.
- Changed behaviour for `Crit.Warhead` - if set it now fully detonates the warhead, if not then it only deals damage with current warhead like before.
- Improved documentation.

* Further clarified documentation.

Laser Trails on VoxelAnims (Phobos-developers#428)

* Init Feature

* Bugfix & style fix

* bugFix , wrong code placement

- causing LaserTrail not updated & drawn properlu

* Doc

* Style fixes.

Co-authored-by: Starkku <starkku.ppmod@gmail.com>

Increment version & doc fixup

Update copyright year.

Minor changes on the ToolTip

Update YRPP

Revert YRpp URL change

Aka fix secsome's dumdum

Fixed the bug when reading a map which puts `Preview(Pack)` after `Map` lead to the game fail to draw the preview (Phobos-developers#543)

* Fixed the bug when reading a map which puts `Preview(Pack)` after `Map` lead to the game fail to draw the preview

* Fix YRPP url

A couple of tooltip fixes

- Correctly show + sign in front of negative TechnoType Cost and positive SW Money.Amount.
- Do not prefix SW RechargeTime with unnecessary whitespace if cost is not displayed.
- Do not display empty extra line if neither RechargeTime or Cost is shown for SW tooltip.

Extra info in debug lines (Phobos-developers#552)

In Attack and Move script actions.

Update the Scripts related code with enum class

Fix script 71 & 72 style

Explicit enum value

Team Leader search tweaks (Phobos-developers#553)

* Small improvement

Now this will search Team Leaders if this is the first time or the Leader is missing.

* small tweak

* Point to latest YRpp

* Fix variable name

Fix RemoveDisguise not working on PermaDisguise infantry

Fix aircraft & jumpjet units being unaffected by speed modifiers (Phobos-developers#564)

* Fix aircraft & jumpjet units being unaffected by speed modifiers

* Fix hooks

* Remove excess newline

* Fix jumpjets locking into place permanently if their speed is dropped to 0

Co-authored-by: Kerbiter <crabiter@vivaldi.net>

Refactor & fix grinding code (Phobos-developers#555)

- Fix PerCellProcess hook conflicts with Ares
- Move CanGrindTechno from BuildingTypeExt to BuildingExt
- Move PerCellProcess hook code to a function in BuildingExt to reduce redundancy

Fix cast in grinding code

Fix shrapnel improvements documentation lacking code block.

Fix typo in docs (Phobos-developers#586)

I wrote:
ForceWeapon.Naval.Decloacked
instead of:
ForceWeapon.Naval.Decloaked

Allow vehicles to use custom palettes (Phobos-developers#569)

Implement local warhead screen shaking (Phobos-developers#559)

Co-authored-by: Kerbiter <crabiter@vivaldi.net>

Implement feedback weapon and detaching weapon from owner (Phobos-developers#561)

TerrainType & ore minimap color customization (Phobos-developers#544)

Documentation Improvements (Phobos-developers#547)

* Sort features & improve readability of What's New

- Minor spelling and word changes
- Made lists in "What's New" collapsible
- Sort subsections alphabetically

* Collapse everything for each version, fix typos

* Revert list indentation

* Extra newlines

* Add style for spoilers

* Move credits to it's own file/section
Also minor fixes

* Fix post-merge mess

* Sort Fixed or Improved Logics again

Co-authored-by: Metadorius <crabiter@vivaldi.net>

Add missing contributions

Fix wrongly attributed contribution

Small shield improvements / additions (Phobos-developers#535)

* Small shield improvements / additions

- Allocate BreakWeapon if not found to prevent potential problems and for consistency
- Add Shield.MinimumReplaceDelay that controls how long after shield was broken can it be replaced if Shield.ReplaceNonRespawning is set.

* Fix negative self-healing not starting without entering combat on unpowered shields.

Laser fixes & improvements (Phobos-developers#572)

- IsSingleColor can be set on laser weapon to draw a single-color laser akin to IsHouseColor using only LaserInnerColor
- Fixed laser glow falloff of single-color lasers to match that of vanilla game

Fix mind control indicator animations not reappearing on uncloak (Phobos-developers#556)

* Fix mind control indicator animations not reappearing on uncloak

* 'Fix' magic number

Custom projectile trajectories (Phobos-developers#562)

* Implement custom projectile trajectories

Init trajectories base class

Implement PhobosTrajactory basis

prototype of straight trajactory

Add a sample Trajactory

Refactored Trajectory system

Minor adjustment

Add comments

Make reading case insensitive

Edit the comment

And add a pusheen

docs stuff

Small refactor for read trajectory

stupid fault

Add a comment

Update the document

Fix the document

Add not recommend to use sample trajectory in the document

Rename SampleTrajectory into BombardTrajectory
Exclude SampleTrajectory from project

Adjust the inital speed value to 100
Adjust the falling detection

Fix a stupid stupid

Avoid exceeding the floats limitation

Use Z to trigger the bullet

Remove wrong whats-new

Clarified documentation.

Add a failsafe to Trajectory.Speed getter if bullet doesn't have WeaponType set

Use correct function for detonating custom trajectory projectiles

- This enables use of Cluster etc.

Documentation fixups

* Disable a counterproductive collision check for custom trajectory projectiles

* Add hooks for techno / target coord checks that call trajectory class methods

Co-authored-by: secsome <302702960@qq.com>

Fix line endings

Fix bad trajectory hook causing crashes

Set owner for WH AnimList/SplashList anims and Play Anim at Waypoint trigger animations even if they do not use MakeInfantry/CreateUnit

Fix MultiMissile SW not respecting Bright on carrier/payload weapons and add docs for previous commit

Shield/New features about shield stolen
[SOMEWARHEAD]
Shield.Stole=false  ; boolean, whether stole the target's shield hp, default false
Shield.Stolen.Rate=1.0 ; double, if can, the percentage of stolen hp, formula: actual ShieldDamage * rate minimum = 0, maximum = 10
Shield.StoleType=false ; boolean, whether stolen the target's shield type for current unit, effective when the unit does not have any shield, defalut false
Shield.StolenType.InitRate=0.0 ; double, if can,  the percentage to initialize the shield strength, minimum = 0, maximum = 1.0

[SOMESHIELDTYPE]
CanBeStolen=true   ; boolean, whether the shield can be stolen hp, default true
CanBeStolenType=true  ; boolean,  whether the shield type can be stolen, default true

Revert "Shield/New features about shield stolen"

that's a mistake

This reverts commit 2c34348.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Phobos Bug] Prism Forwarding Laser draw low quality laser

3 participants