Page 3 of 5

Posted: Fri Oct 05, 2007 2:42 pm
by Arexack_Heretic
I am working on 1.3.1.

However...(boom! just crashed against the station)... it looks like the descriptions are not getting through. I just scooped some special cargo and got the Console_message: scooped special food, which could be the key in descriptioins or '[20] food' (edit: 'special is not in the descriptions, something is going wrong with the consoleMessage3s).

Secondly the commsMessages supposed to be sent by the fuelpod AI...it doesn't.
Causing unexpected quirium cascades. (can't see the pods from too far away, but ECM triggers the cascade) Without the AI sending messages, this is too dangerous.
Do I need to setDesiredRangeTo, to allow sending messages to all in range?
Maybe I just need to commsMessage the player?

AI below:



Code: Select all

{
	GLOBAL = {
		ENTER = ("setDesiredRangeTo: 50000.0",);
		EXIT = ();
		UPDATE = ("setStateTo: TUMBLE");
	};
	TUMBLE = {
		ENTER = (performTumble);
		COLLISION = ("setStateTo: EXPLODE");
		ECM = ("commsMessage: WARNING: ECM disrupts Quirium containment!", "setStateTo: CRITICAL");
		EXIT = ();
		UPDATE = ("pauseAI: 30", performTumble, "commsMessage: -Beep!- ");
	};
	EXPLODE = {
		ENTER = ("setDesiredRangeTo: 50.0", dealEnergyDamageWithinDesiredRange, becomeExplosion);
		EXIT = ();
		UPDATE = ();
	};
	CRITICAL = {
		ENTER = (performTumble);
		COLLISION = ("setStateTo: EXPLODE");
		ECM = ("commsMessage: WARNING: Quirium Cascade imminent!", "setStateTo: TIMER5");
		EXIT = ();
		UPDATE = ("pauseAI: 30", performTumble, "commsMessage: -Beep!- ");
	};
	TIMER5 = {
		ENTER = ("pauseAI: 1.0", "commsMessage: 5", "setStateTo: TIMER4");
		EXIT = ();
		UPDATE = ();
	};
	TIMER4 = {
		ENTER = ("pauseAI: 1.0", "commsMessage: 4", "setStateTo: TIMER3");
		EXIT = ();
		UPDATE = ();
	}; 
	TIMER3 = {
		ENTER = ("pauseAI: 1.0", "commsMessage: 3", "setStateTo: TIMER2");
		EXIT = ();
		UPDATE = ();
	};
	TIMER2 = {
		ENTER = ("pauseAI: 1.0", "commsMessage: 2", "setStateTo: TIMER1");
		EXIT = ();
		UPDATE = ();
	};
	TIMER1 = {
		ENTER = ("pauseAI: 1.0", "commsMessage: [bomb-last-words]", "setStateTo: DEFUSE_CHANCE");
		EXIT = ();
		UPDATE = ();
	};
	DEFUSE_CHANCE = {
	 	ENTER = ("rollD: 3");
	 	"ROLL_1" = ("setStateTo: DETONATE");
	 	"ROLL_2" = ("commsMessage: Quirium Cascade Effect Interrupted", "setStateTo: EXPLODE");
	 	"ROLL_3" = ("commsMessage: Quirium stabilized", "setStateTo: TUMBLE");
	 	EXIT = ();
		UPDATE = ();
	};
	DETONATE = {
		ENTER = ("pauseAI:1.0", "setDesiredRangeTo: 50.0", dealEnergyDamageWithinDesiredRange, becomeEnergyBlast);
		EXIT = ();
		UPDATE = ();
	};
}

Posted: Fri Oct 05, 2007 3:29 pm
by LittleBear
Perhaps needs an auto_ai to false in shipdata? Otherwise the pod may be defaulting to nullAI whatever customAi is being assigned. AI looks ok.

Posted: Fri Oct 05, 2007 3:48 pm
by Arexack_Heretic
nah. Done that. in launchactions it is set to this AI.
It's not the AI, but rather the way the commsmessages are (not)working.
The not-announced QC is testament to that.

Have yet to test the altered AI with desiredRange at 50000.

edit: ghost cargo has returned in 1.69.1.

Posted: Fri Oct 05, 2007 4:05 pm
by LittleBear
Hang on:-

should be "commsMessage:" not "CommsMessage:"! :wink:

Posted: Fri Oct 05, 2007 4:10 pm
by Arexack_Heretic
DAAArgh!
it strikes again.
heretical capitlization!

thanks. :lol:

edit: still not working though. :cry:

Posted: Fri Oct 05, 2007 8:47 pm
by Eric Walch
In your descriptions you placed:

Code: Select all

<key>special-food</key>
	<array>
		<string>Synth-e-meat.</string>
		<string>[%R]n [12]	[10]</string>
		<string>[20]	food</string>
		<string>[%H]	[15]	[24]</string>
		<string>Square [18]s (tm); by GenFun.</string>
		<string>[%i3]	[17]</string>
		<string>[26]	[%R]s</string>
		<string>[%i2]	[28]</string>
	</array>
Your Wreck worked fine for me with the pods. Only the [%i3] and [%i2] I don't understand. They are no expansions as far I can see. The other numbers expand from the descriptions inside Oolite.

Posted: Fri Oct 05, 2007 8:59 pm
by Arexack_Heretic
IIRC these relate to the native-species (inhabitants) descriptions;

i1% = large/ fierce/ small
i2% = green/red/yellow/blue/black/harmless
i3% = slimy/bug-eyed/horned/bony/fat/furry
i4% = rodent/frog/lizard/lobster/bird/humanoid/feline/insect

as with the [number] descriptions, which point back to the key-entry numbers of entries for the planet descriptions, a random entry is chosen if used in a expansions method. In gameInfo, seednumbers determine which entries and what string in the entry-array is used.

I have a xls-file with a usefull table to guide in using the default descriptions.plist. Its on my webspace. I just linked to it from the wiki today.

Posted: Fri Oct 05, 2007 10:28 pm
by LittleBear
I recentley scooped some "Interesting" or maybe it was "exciting" "Water" from a particular system :) So seems to be working!

Posted: Fri Oct 05, 2007 11:20 pm
by Arexack_Heretic
Two cases of [R%] and [I%] herecy purged.
annoying NPC-triggered consolemessage fixed.
lots of special-cargo descriptions added.
time for an update.
8)

wiki-file updated to v1.3.1

-
Now I'm getting concerned about those inhabitant-%i#, they could be the cause of the occasional unexpanded [special-foods].
Need to recheck that.

Posted: Sat Oct 06, 2007 2:13 pm
by Commander McLane
Downloaded 1.3.1, and a first glance at the plists revealed no obvious bugs (e.g. PlistEdit Pro opened them without any "this is not a valid plist"-complaints.) :) !

Spotted a typo, though, in the descriptions.plist: in the very long of the last-words shouldn't it be "One more thi*" in the end?

In order to find out if the whole thing actually works I still have to install and playtest it, however.

Posted: Sat Oct 06, 2007 2:15 pm
by Arexack_Heretic
currently testing the inhabitants descriptions.

edit:
[%i3] etc does not work
[%inhabitants] dito
[%inhabitants[3]] dito, although [3] is replaced by 'mountains' etc.
[inhabitants[3]] gives 'inhabitantsmountains'
[inhabitants(1)] just prints the string iso using the key.
In short, the nested* inhabitants descriptions are not accessable for expansion.
*5 description arrays inside the inhabitants array
I'll export to seperate descriptions and add it to my wrex_descriptions.plist.

Posted: Sat Oct 06, 2007 2:19 pm
by Commander McLane
another typo in the AI: It's "Quirium", not "Quirrium", according to all sources I would know of.

Posted: Sat Oct 06, 2007 2:21 pm
by Arexack_Heretic
Ah I knew of that one. Noticed it myself, just forgot to edit it.
v1.3.2?
...actually those last-words are not used in cargo-wrex. They belong to another project....Don't actually recall which...only wrote it about a week ago...Damn Quaian hoopy juice!
Ah I remember!
I intended to have the fuelpods perform a scriptAction on NPCs to broadcast this message and then explode.

edit.
Oh, there it is in the evil-fuelpod scriptactions...
not sure whether this will work actually. would the pod set it's target automatically to the 'scooper' in script_actions?
edit: doesn't work on the player.
edit2: uh oh typo.
edit3: fixing typo doesn't matter. this AI-method still doesn't want to play.
Not to worry it does nothing and what it's supposed todo does not affect the player much.
except for depriving him/her/it of the [last-words].

Posted: Sat Oct 06, 2007 8:29 pm
by Eric Walch

Code: Select all

Oh, there it is in the evil-fuelpod scriptactions... 
not sure whether this will work actually. would the pod set it's target automatically to the 'scooper' in script_actions?
It will not work. The evil command you mean is a AI command. I dont think it will work in normal scripting.

Posted: Sat Oct 06, 2007 9:51 pm
by Arexack_Heretic
I can empirically confirm that E_W, I tested them properly this evening.

You were also right about the [%i#] expansions,
they were probably based on my wishfull thinking.
Remember I had to deduce the workings of these string-expansions by trial and error. I simply failed to test properly, as the entire teaser-oxp is a quick bodge to begin with. a teaser. ;)

---

One problem I propose to those playtesting this oxp...

As I have added something in the neighbourhood of 30 new pod entries, the ratio between scripted, default and fuelpods has become severely disrupted.

Role-ratio of the new pod entries lies between 0.15 and 0.05.

I find that with a test-fuelpod at role(5) it is a bit too frequent.
(in just one excursion across an anarchic system, I scooped two and saw one detonate in the heat of a distant battle.)

-Do you find that using this OXP offsets the ratio between scooped cargotypes?
-Or maybe one of the podtypes (script, cargo or model) just occurs too much?

---
Another problem remains the explosiveAI.plist.

As it is, it triggers QC directly following ECM, without pausing or communicating.
Q: Is AImethod "pauseAI: <s>" broken?
The number entered is in seconds right? not milliseconds or 0.1seconds?
When I put the pause,comms,state lines into the PAUSE, it takes way too long to cycle.
It does work...except for the delays and lack of 'commsMessage:'.
I am suspecting that the AI now hangs on timer5.
Gonna test under 1.68.