Bearings for aetherships

by Unknown

Back to Mechanic's Corner.

Unknown2006-02-06 03:14:22
Well, the obvious system to use for aetherspace navigation is coordinates. Here is a simple system I've been using for at least the aetherspace plane (doesn't work on the others yet).

CODE

#ALIAS bearings {#echo %null;#if (%len( %1) <= 1) {#echo You are currently located %abs( @xaether) leagues %if( @xaether<0, "west", "east"), %abs( @yaether) leagues %if( @yaether<0, "south", "north") of the Aetherplex.} {#if (%ismember( %1, @markers)) {#echo You are %abs( %eval( @xaether-@xmarkers.%1)) leagues %if( %eval( @xaether-@xmarkers.%1)<0, "west", "east"), %abs( %eval( @yaether-@ymarkers.%1)) leagues %if( %eval( @yaether-@ymarkers.%1)<0, "south", "north") of %1.} {#echo No such marker set.}}} "Aetherships"
#ALIAS delmarker {#if (%ismember( %1, @markers)) {#delitem markers %1;#delkey xmarkers %1;#delkey ymarkers %1;#echo %null;#echo Marker ~"%1~" removed.} {#echo %null;#echo No such marker set.}} "Aetherships"
#ALIAS markers {#echo %null;#echo Current markers set:;#forall @markers {#echo ~"%i~" %repeat( "~ ", %eval( 15-%len( %i)))- ~(%repeat( "~ ", %eval( 5-%len( @xmarkers.%i)))@xmarkers.%i, %repeat( "~ ", %eval( 5-%len( %@ymarkers.%i)))@ymarkers.%i~)}} "Aetherships"
#ALIAS setmarker {#if (%len( %1) <= 1) {#echo %null;#echo You need to give this marker a meaningful name, ie SETMARKER .} {#additem markers %1;#addkey xmarkers %1 @xaether;#addkey ymarkers %1 @yaether;#echo %null;#echo %1 marker set.}} "Aetherships"
#VAR markers {Celest|Serenwilde|Magnagora|Elemental|Dramube|Candyland|Facility} {_nodef} "Aetherships"
#VAR xaether {0} {_nodef} "Aetherships"
#VAR xmarkers {Serenwilde-61Magnagora78Celest-91Elemental599Dramube246Candyland1073Facility-216} {_nodef} "Aetherships"
#VAR yaether {0} {_nodef} "Aetherships"
#VAR ymarkers {Serenwilde85Magnagora-58Celest-21Elemental-126Dramube115Candyland-231Facility-43} {_nodef} "Aetherships"
#TRIGGER {^Avaerin, the Living Forestship glides to the (%w).} {#if (%1 == "east") {#add xaether 1};#if (%1 == "west") {#add xaether -1};#if (%1 == "northeast") {#add xaether 1;#add yaether 1};#if (%1 == "southeast") {#add xaether 1;#add yaether -1};#if (%1 == "north") {#add yaether 1};#if (%1 == "south") {#add yaether -1};#if (%1 == "southwest") {#add xaether -1;#add yaether -1};#if (%1 == "northwest") {#add xaether -1;#add yaether 1}} "Aetherships"
#TRIGGER {^You steer Avaerin, the Living Forestship to the (%w).} {#if (%1 == "east") {#add xaether 1};#if (%1 == "west") {#add xaether -1};#if (%1 == "northeast") {#add xaether 1;#add yaether 1};#if (%1 == "southeast") {#add xaether 1;#add yaether -1};#if (%1 == "north") {#add yaether 1};#if (%1 == "south") {#add yaether -1};#if (%1 == "southwest") {#add xaether -1;#add yaether -1};#if (%1 == "northwest") {#add xaether -1;#add yaether 1}} "Aetherships"


Note that where I have "Avaerin, the Living Forestship" in the two triggers, you'll need to replace it with the name of the ship you are serving on.

You should then be able to use the following commands:

BEARINGS - gives current position related to either the Aetherplex (origin) or a previously set marker.

SETMARKER - stores the current set of coordinates under a given name.

MARKERS - shows you what markers you have set.

DELMARKER - removes a stored marker position.

Edit: Oh, and you have to set the two coordinates, obviously. So, xaether and yaether need to be set at one of the docks that you know the coordinates for. If you're at the aetherplex, its (0, 0)... some others are given in MARKERS, thanks to Shorlen.
Soll2006-02-06 07:10:30
Instead of '#echo ~' use '#echo %null'. The '~' is interfering with the line-splitting ';'
Unknown2006-02-06 07:20:29
Fixed, thanks Soll.
Lisaera2006-02-06 16:09:41
I was wondering how long it'd be until someone made a system like this. Well done!
Gwylifar2006-02-07 02:07:46
Funny, I don't even log into Lusternia and this is the third such system I've seen already.
Narsrim2006-02-07 02:15:37
I'm waiting until the specializations are released to make a coordinate system. They may be totally unnecessary.
Shorlen2006-02-07 03:54:15
QUOTE(Lisaera @ Feb 6 2006, 11:09 AM) 254832

I was wondering how long it'd be until someone made a system like this. Well done!


Laysus and I had something just like this on day two, we just kept it to ourselves mostly dry.gif
Saran2006-02-07 06:27:26
Hrm, anyway to get the bearings to show with the map?
Unknown2006-02-07 07:30:36
I'm pretty much just going to be manning a turret as a combateer. Should I have a special system for that?
Saran2006-02-07 07:37:36
Might be handy to have an auto refire or something similar to the moondancer coven reflexes (i.e one person is in charge, they pick the target and order firing to commence)
Shorlen2006-02-07 20:59:22
QUOTE(Saran @ Feb 7 2006, 02:37 AM) 255122

Might be handy to have an auto refire or something similar to the moondancer coven reflexes (i.e one person is in charge, they pick the target and order firing to commence)


That's actually a bad idea for several reasons. For battling aetherbeasts, it's best if everyone targets on their own, so they don't all need to reacquire targets every time something dies, especially if you are fighting a massive swarm. You want something that will target a monster that is in the room or that enters the room or that spawns in the room if your target is currently dead. If your target is not dead, then fire when you have balance. If your target goes out of range, get a new target.
Eyod2006-02-08 12:40:57
Gunning is fun.
Laysus2006-02-08 19:18:06
QUOTE(Shorlen @ Feb 7 2006, 03:54 AM) 255076

Laysus and I had something just like this on day two, we just kept it to ourselves mostly dry.gif


Yup. It was like, the second or so time we set off, I told him to make triggers to keep track of coordinates, and he did. Presto.

I'm the ideas man biggrin.gif
Rhysus2006-02-08 20:48:14
QUOTE(Saran @ Feb 7 2006, 01:27 AM) 255111

Hrm, anyway to get the bearings to show with the map?


#ST {Coordinates: (@xaether, @yaether)}