View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004201 | The Dark Mod | Coding | public | 18.08.2015 12:53 | 30.09.2015 20:05 |
Reporter | VanishedOne | Assigned To | SteveL | ||
Priority | normal | Severity | normal | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | TDM 2.03 | ||||
Target Version | TDM 2.04 | Fixed in Version | TDM 2.04 | ||
Summary | 0004201: Fire arrows extinguish existing fires, even on a direct hit | ||||
Description | If a fire is already lit, the blast from a fire arrow will extinguish it. This is supposed to happen for nearby flames (the blast of air from the explosion), but it happens even on a direct hit. http://forums.thedarkmod.com/topic/16951-tdm-203-glitchesbugs/?p=375883 | ||||
Steps To Reproduce | Stand by a bonfire repeatedly firing fire arrows at it. The flame gets alternately turned on and off. | ||||
Tags | No tags attached. | ||||
I would think that only the smallest flames (candles) would be extinguished by the blast of a fire arrow. Fireplaces, torches, etc, should not be extinguished at all. | |
@Springheel: That's probably best handled in a spawnarg don't you think? Rather than trying to do it automatically based on erm... the size of the attached particle effect or something. Blowing out flames was new in 2.03 anyway so we can tweak it. We can have a "canBeBlownOut" spawnarg that defaults to 0, and set it to 1 on the parent defs of candles. That still leaves us with fire arrow blasts on non-movable candles. Moveables will get hurled about by the blast anyway, so it doesn't matter that they go out on a direct hit, but non-moving candles should probably not go out if they are close enough to the blast that they'd be ignited by it. |
|
Technically, the blast would extinguish any flame in it's area, and then the heat would re-ignite any of them that are still in the heat area (which might be smaller than the blast radius). So maybe would it help to simply split the process into two phases: extinguish, then a few ms later ignite any flames still in the area (if blown away, they get ignored). The spawnarg might still be an idea, so the mapper can build huge bonfires you can't blow out even with a direct hit. |
|
I agree, the best way to fix it is to change the order of events: perform the blow-out, then allow the fire stim to reignite anything within reach. Currently the fire stim is happening before the blow-out. The spawnarg is easy, but the fire and the blast are probably activated by very different parts of the code, and might or might not be easy to reorder. |
|
No need to change the order of events: the fire stim lasts 250ms, so it outlasts the instant blow-out effect in any case. The toggling effect was down to a design choice in the radius dowsing effect: lights couldn't be relit by a fire stim until their smoking effect had completed. If we remove that constraint (from tdm_lights.script, light_moving_ext::response_extinguish), then flames doused by a (very nearby) blast go out but immediately reignite, which looks quite realistic. Lights further away just get blown out. |
|
The spawnarg. The area dowsing effect will work on flame lights, which generally don't get placed directly by mappers. They are def-attachments of the light holder entities that mappers place in DR. It would be nice if mappers can override canBeBlownOut with a spawnarg on the light holder that they place in DR, even if I can't hink of any use cases right now. We could have the light check its bindmaster and teammaster entities for the spawnarg too -- I'm hoping one of those will be the light holder entity -- and add a default spawnarg "canBeBlownOut" that shows up on light holders in DR so that mappers are aware of it. | |
Correction: there's no need for complicated checking of bindmasters. I was forgetting the "set spawnarg on flame" mechanism for def-attachments. | |
Committed at rev 6542 /trunk/game/Game_local.cpp /trunk/game/Game_local.h And at rev 14393 /trunk/def/tdm_lights.def /trunk/def/tdm_moveable_candles.def /trunk/script/tdm_lights.script |
|
Date Modified | Username | Field | Change |
---|---|---|---|
18.08.2015 12:53 | VanishedOne | New Issue | |
27.08.2015 14:36 | Springheel | Note Added: 0007746 | |
06.09.2015 13:38 | SteveL | Note Added: 0007754 | |
15.09.2015 19:04 | SteveL | Assigned To | => SteveL |
15.09.2015 19:04 | SteveL | Status | new => assigned |
25.09.2015 11:54 | tels | Note Added: 0007798 | |
26.09.2015 18:51 | SteveL | Note Added: 0007800 | |
27.09.2015 15:05 | SteveL | Note Added: 0007806 | |
27.09.2015 15:29 | SteveL | Note Edited: 0007806 | |
27.09.2015 15:40 | SteveL | Note Added: 0007807 | |
29.09.2015 17:42 | SteveL | Note Added: 0007809 | |
29.09.2015 18:48 | SteveL | Note Added: 0007810 | |
29.09.2015 18:48 | SteveL | Status | assigned => resolved |
29.09.2015 18:48 | SteveL | Fixed in Version | => TDM 2.04 |
29.09.2015 18:48 | SteveL | Resolution | open => fixed |
30.09.2015 19:02 | SteveL | Target Version | => TDM 2.04 |