Basically with the multitude of checks it's too invasive for the benefit it
provides, if it's going to be checking many different conditions it needs
to do so in a less invasive way.
On May 24, 2013 3:21 PM, "i2amroy" <notifications@github.com> wrote:

> In field.cpp:
>
> > @@ -81,6 +81,10 @@ bool map::process_fields_in_submap(game *g, int gridn)
> >      break; // It doesn't do anything.
> >
> >     case fd_fire: {
> > +    if (g->u.has_trait(PF_PYROMANIA) && one_in(10 - (cur->density * 2)) && g->u_see(x, y))
>
> Numbers 4 and 5 are a duplication that can be moved prior to the if/else
> statement to work. As for the reasoning for calling it in other places the
> goal was have a potential bonus if they see a fire (which is the first
> check) and also give them a guaranteed bonus if a fire grows larger, a fire
> destroys something, or a fire spreads out (which are checks 2, 3, and the
> 4/5 combo respectively). I guess I could replace it with a temporary
> variable and then check if that was True or False each time, but the goal
> was to have additional bonuses when a fire did things as well as the basic
> "you see a fire" potential bonus.
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/TheDarklingWolf/Cataclysm-DDA/pull/1113/files#r4388392>
> .
>