Look West: A tremendous sandstorm fills the air with whirling sand and dust.

Started by nauta, September 20, 2016, 12:27:09 PM

The weather code is something I absolutely love about playing an outdoors character.  The directionality of storms and the ability to predict and track storms -- it's so cool.  So, whoever coded it: kudos-o-rama.  It's the sort of thing that both adds flavor and adds a kind of coded obstacle to overcome, learn, etc.

Here's three code ideas to supplement the current storm code:

1. If there is a tremendous storm (of the stinging sands sort in which you can't see at all) in the room next to you, looking in that direction will offer some sort of output, e.g.:


> l west
To the west are Sandy Plains.
A tremendous sandstorm fills the air with whirling sand and dust.


I know you can do 'weather w' to reveal the storm, but, I mean, if it's a tremendous storm a league away from you, you should be able to see it on the horizon, as it were.

2. As well, if there is a tremendous sandstorm, it will block visibility past it.  (At present, you can still see through a tremendous sandstorm from the room next to it, even if, while in the room with the sandstorm, you can't see anything at all.)

3. Finally, adding weather output to your status bar would be super keen.  Weather can add a lot to RP and immersion and having it immediately available to you, like the time of day, would help me at least remember that I'm in a storm.
as IF you didn't just have them unconscious, naked, and helpless in the street 4 minutes ago

Funny you mention that. I filed an idea about this just the other day.
"People survive by climbing over anyone who gets in their way, by cheating, stealing, killing, swindling, or otherwise taking advantage of others."
-Ginka

"Don't do this. I can't believe I have to write this post."
-Rathustra

Yes please. Plus I want to be able to hide in a storm and emerge from it like the wasteland badass we all want to be.

edit: it would give certain abilities more value as well... and traveling through the Red Desert would actually be as scary as I feel like it should be.

>l e
To the east is the slope of a star dune.
A sandstorm obscures the area with a billowing cloud of dust.

You ride east on a knock-kneed war beetle.

The Slope of a Star Dune [EW]
This is a desert and it's got sand and you're on the arm of a star dune.
A sandstorm obscures the area with a billowing cloud of dust.
A tall and thick faint figure is here.

A tall and thick faint figure sniffs the air, then lets out a bloodthirsty screech.

A tall and thick faint figure slashes you very hard on the body!

I especially like being able to add it to your prompt.
"You will have useful work: the destruction of evil men. What work could be more useful? This is Beyond; you will find that your work is never done -- So therefore you may never know a life of peace."

~Jack Vance~

Quote from: Reiloth on September 20, 2016, 12:53:59 PM
I especially like being able to add it to your prompt.

There actually is a way to put it in your prompt in tintin++ ... in principle, although I haven't quite got it to work.  Maybe I'll do that and post it, but you should be able to do something like... alias your look command to also output weather, substitute the output into a variable, and stuff it in your prompt.  (Sounds like a project for CodeMaster!)

And re: Delirium, a fourth code suggestion might be:

4. Allow people with blind fighting, scan, or direction sense at suitably high levels (master?) to be able to actually see figures in or through a storm.

I can't remember right now, but if it is Darkness or a Stinging Sands case and someone comes into the room you are in, currently I believe (could be wrong) you don't notice them, although with Stinging Sands (not Darkness) you can (currently) target them.
as IF you didn't just have them unconscious, naked, and helpless in the street 4 minutes ago

Quote from: nauta on September 20, 2016, 12:27:09 PM
1. If there is a tremendous storm (of the stinging sands sort in which you can't see at all) in the room next to you, looking in that direction will offer some sort of output, e.g.:

You can already append a direction to the weather command.

weather s

for instance.  And get this information as a short term fix.  Good for places where the weather zones touch and city gates.
Quote from: BadSkeelz
Ah well you should just kill those PCs. They're not worth the time of plotting creatively against.

So, did a little coding!  Proof of concept.

This is incomplete, but the pieces are there for weather-in-ya-prompt (real coders can laugh and improve!):

- revision #1 (updated)



  #action {{A|An} {extremely hot|strong very hot|very hot|hot|strong warm|warm|strong cool|cool} {wind|breeze} blows from the %w.}
  {
     #var {weatherhere} {%2 %3 %4};
     #substitute {%0}{};
  }

  #action {You have no feeling about the weather indoors.}
  {
      #var {weatherhere} {indoors};
      #var {temperature} {indoors};
      #substitute {%0}{};

  }

  #action {The air is as silent as the sand.}
  {
      #var {weatherhere} {silent};
      #substitute {%0}{};
  }

  #action {Gritty sand blows in from the %w, piling in small dunes.}
  {
      #var {weatherhere} {sands %1};
      #substitute {%0}{};

  }

  #action {A %w storm whirls sand and dust from the %w, obscuring the sky.}
  {
      #var {weatherhere} {%1 storm %2};
      #substitute {%0}{};

  }

  #action {A fierce warm wind howls out of the %w.}
  {
     #var {weatherhere} {%0};
      #substitute {%0}{};
  }

  #action {A %w sandstorm whips stinging dust from the %w across the land.}
  {
    #var {weatherhere} {%1 storm %2};
      #substitute {%0}{};
  }

  #action {{A|An} {extremely hot|strong very hot|very hot|hot|strong warm|warm|strong cool|cool} {wind|breeze} blows from the %w.}
  {
     #var {weatherhere} {%2 %3 %4};
      #substitute {%0}{};
  }

  #action {It is a {cold|cool|hot|very hot|warm|extremely hot} {day|night}.}
  {
     #var {temperature} {%1};
     #substitute {%0}{};
  }


Then, in your prompt command or (as in my case) in the 4th line of a split output the $weatherhere command:

#SPLIT 0 4;

#action {a bunch of complicated things for detecting my prompt}
{
#showme {$temperature : $weatherhere} {1}
}


I then have an 'la' command which does a look in every direction and weather.

#ALIAS {la}
{
 weather;

 l w;
 l e;
 l n;
 l s;
}


The output is something like:

100/102/103
standing
riding: a halfling
warm : sands south


Todo items:

o Have it substitute out the moons part of the weather output, so I avoid spam.
o Have it do 'weather east|west|north|south' as well, for omnidirectional weather.

But it works so far.
as IF you didn't just have them unconscious, naked, and helpless in the street 4 minutes ago