- User Since
- May 7 2017, 8:12 AM (119 w, 1 d)
Mon, Aug 12
Sun, Aug 11
May 26 2019
May 17 2019
I renamed the my map file to an existing map so that I could play on it. :) Save game/load game works, the builings hit by the burning attack continued receiving damage after loading the game.
I did a multi player test via localhost and the damage dealt are in sync in both player session: https://imgur.com/a/PKXNvMt
May 16 2019
There is a way to do it from the command line though off-hand I won't be able to tell you how exactly. It's documented in binaries/system/readme.txt I think.
I can look into this later.
May 14 2019
Thanks for the comments @wraitii and @Stan ! I've addressed those expect the testing of saved game because I could not open the test map I've created. Is there any trick to make it visible in the scenario selector?
May 13 2019
Notes regarding the new diff:
- Did you mean calling cmpDamage.CauseDamage? Because in that case I have to construct the strengths object and need pass the attacker and attackerOwner as parameters to the Status.
- Currently the first occurance of the effect is hard-coded to 0 sec. Not sure if it's OK for now.
- Would it make sense to make the statusEffectsSchema in Attack.js more generic? Eg. using
May 9 2019
As discussed moving the StatusEffects inside the Attack component and changing the posioning to burning. Open questions:
- Should multiple status effects reset the timer?
- Should the status effects be added to other attack types? (melee, splash, indirect ranged attack)
- Should there be an animation played or an icon to be shown? I assume for a flaming animation on the target C++ change is needed too.
Feel free to comment!
May 8 2019
@wraitii I like your proposal about the separate components. Please review my latest patch! It contains the basic components which can be enhanched further (testing in-game, more unit tests, burning effect, particle, sound, optimizations, etc.)
May 6 2019
Addressed @Angen 's comments and wrote some unit tests. Please review again!
May 4 2019
Jan 14 2019
Hi @Stan ! Currently I'm working on fixing the failed build. Apart from that I need your or someone else's help to check the current solution is good. It works for the range attack only but if you like it then I can extend it to melee and splash attack too. What do you think? :)
Jan 13 2019
Jan 1 2019
Jan 23 2018
Dec 18 2017
In the meantime I wanted to upload all my changes since it turned out the C++ comments I cannot address right now. Let's have a look if you like it or not and feel free to switch back to my Dec 4 patch if it's better.
Tried to address all the code formatting issues.
Dec 17 2017
Dec 4 2017
Nov 27 2017
Nov 26 2017
Thinking about removing LaunchProjectile method because it's only used by the LaunchProjectileAtPosition.
Not sure whether it makes sense to introduce a new interface method in ICmpProjectileManager.cpp for LaunchProjectileAtPosition but with less parameters. If the actorName is not defined then the LaunchProjectile returns earlier without creating the projectile (not a valid scenario).
Unit tests will come most probably in a separate patch.
Projectile definition is moved into the Attack/Ranged part of the entity template. Open questions:
- Does that make sense to cover this changes with unit tests (JS and C++ part)?
- @wraitii proposed to do the projectile actor defaulting (fall back to visual actor, see CCmpProjectileManager.cpp L191) in JS instead of in C++. I thought this further and how about replacing the source parameter of LaunchProjectileAtPoint with sourcePosition and in this case there is no need for the source entity in CCmpProjectileManager at all? For this the function cmpSourceVisualActor->GetProjectileLaunchPoint(); need to be exposed to JS.
Nov 25 2017
Nov 22 2017
Nov 21 2017
I removed the unused parameters from the RenderModel function.
Nov 20 2017
Nov 19 2017
Hi Stan, out of the 3 cases you mentioned there are 2 supported now:
- "when in flight" => Projectile/Actor
- "when hitting" => Projectile/HitActor
I'm not sure about the your 3rd option but if you mean something like a muzzle flash, it can be added as well: https://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/FNFLASH01.jpg/1200px-FNFLASH01.jpg
Enhanced arrow visibility is possible now, only the proper actor definition is needed. Eg. for smg like this: http://fireflyworlds.com/wp-content/uploads/sites/2/2015/05/11-1024x576.jpg
I created the new component cmpProjectile as proposed by @wraitii . Please have a look if you like it or not!
If this new component is approved then probably the templates could contain the projectile actor which could be removed from the unit actor files. (right now there is a fall back to the unit actor if the Projectile is not present in the template.)
Nov 1 2017
The length of the projectile hit animation can be defined in the unit Template using Decay/DelayTime.
Oct 30 2017
Thanks for all the feedback!
Addressed by the latest diff:
- using the projectile hit animation name from the actor file instead of hard-coding
- Explosion renamed to ProjectileHitAnimation
- code duplication removed from RenderSubmit by using a template function
Oct 18 2017
I agree. A new effect manager could be used for other purposes as well. Eg. https://trac.wildfiregames.com/ticket/1912 Continuous damage after hit detection could use some animations too. Explosion could be replaced by a more general term indeed.
Oct 17 2017
Explosion animation works finally! There are lots of TODOs in the code which I have to address as part of this diff but feel free to do some early review.
Oct 1 2017
Sep 30 2017
Sep 25 2017
Sep 23 2017
With the new ogg the warning is not thrown anymore. Thanks!
Sep 22 2017
Sounds like this (the warnings on top are just for showing the position used for playing the sound):
Thanks for the sound Pureon! It fits well in the game. There is an issue with the 3rd file not sure if you have seen this before? "OpenAL: stereo sounds can't be positioned: audio/attack/impact/siegeprojectilehit_03.ogg"
Sep 21 2017
I've pinged Pureon via Forum PM.
Sep 20 2017
Do you know how to contact @Pureon for new sounds? I cannot tag him here in Differential. Right now there would be good to have an explosion sound for the onager missile hit.
Do we need separate sound for a projectile hitting the ground/target and causing the damage (explode)? The later can be delayed.
Sep 19 2017
Sep 18 2017
LOL nice test evidence video! :D
Sep 17 2017
The updated diff should contain the delay feature related change. Changes related to the sound and animation will come in later diffs.
Aug 30 2017
Aug 29 2017
Aug 28 2017
Aug 27 2017
diff reduced by using template inheritance
The latest diff contains:
- making Delay as a mandatory child of Ranged element
- adding sound to missileHit (temporarily hardcoded the building destruction but can be defined in the template later)
Aug 20 2017
I reviewed the changed:
- all my questions were answered satisfactorily (I even learnt new things, eg. placing the assertion in the mock function)
- I've tested the changes locally by setting different kind of DeathDamage bonuses for the Fireship
- all the changes are logical and properly covered with unit tests
Aug 17 2017
If we want to have suicide units like in AoE, it may worth to implement the bonus for DeathDamage also (eg. petard deals extra damage against buildings but not against units): http://ageofempires.wikia.com/wiki/Suicide_Units
Aug 13 2017
That's fine but do you mean the graphical part can be done solely in Damage component or do you mean excluding the graphical part from this ticket?
- I tested the change locally by running the game. DeathDamage still works and it does not throw any errors.
- Removal of the bonusSchema and linear shape makes sense because they are not used in DeathDamage component.
- This patch is OK to submit.
Aug 6 2017
Jul 16 2017
Jun 10 2017
DeathDamage logic extracted to separate component from Attack component.
May 31 2017
May 21 2017
May 20 2017
I did the following changes as instructed:
- moved up the calling of DeathDamage in the Health component code (plus making a switch)
- sorted out the diplomacy handling of FriendlyFire (GetAllPlayers functions added)
May 12 2017
I've updated the description. Please have a look and challenge it so that requirement related concerns can be identified prior to implementation.