[Mod] Fellow Pilgrims

Post about your finished mods here.
Drako Slyith
Fleet Officer
Fleet Officer
Posts: 1036
Joined: Wed Feb 03, 2010 4:28 am
Location: Researching how to make St. Kats star go supernova.
Contact:

Mon Jul 18, 2011 2:58 am

A few days ago, I uploaded This mod to Xelerus. It creates a baseclass for Pilgrims and then has several ships which use it. Basically, it creates Pilgrims in the game. They fly around with similar behavior to the salvagers, except that they upgrade their own equipment, and they can use Domina's powers (except for Nebular sight, since it serves no purpose to them, and Desperate Escape doesn't really work all the time.) This was suggested on the forums a few months ago, but I was very busy and didn't get much done. Enjoy!


Please post ideas/suggestions/bugs that you find here.
Image
Image
Play in over 100 systems in a network. Play the 2011 Mod Of the Year
and the highest rated mod on Xelerus, The Network.
Play the July Mod of the Month, Fellow Pilgrims!
Play My other mods as well
(Drako Slyith)* I am a person
(Eliza chatbot)> Do you believe it is normal to be a person?

Yama
Militia Lieutenant
Militia Lieutenant
Posts: 114
Joined: Mon Feb 07, 2011 1:32 am
Location: in the apprenticeship program at a Tinker station....

Mon Aug 08, 2011 12:41 am

Drako Slyith on Xelerus, 14.07.2011 wrote:Right now the pilgrims just wander around the system destroying things and looting them. I've been trying to work out a way to let them progress, but so far I don't have anything.
Hi Drako,

I think I've come up with a cockeyed way you may be able to make your pilgrims "progress" after a fashion:

Could you set it up so that any time the player jumps "core-ward" out of a system that has pilgrims in it, there's a fairly high chance (maybe 50/50) that one or more of the pilgrims will follow the player through the the gate? The way that autons and wingmen follow the player through jump gates. Once through the gate, the pilgrim(s) would go about their business in the new system.

Admittedly it's far from the ideal solution, but at least your pilgrims wouldn't always be stuck in the system they spawned in, and I suspect that it'd be reasonably easy to implement. Perhaps it'd be worth using as a stopgap until you work out a better solution. An interesting side effect of moving them this way is that the more times a player backtracks, the more the pilgrims would get moved forward.
"A good ship should not look like a plumber's nightmare."
- Atarlost

Drako Slyith
Fleet Officer
Fleet Officer
Posts: 1036
Joined: Wed Feb 03, 2010 4:28 am
Location: Researching how to make St. Kats star go supernova.
Contact:

Mon Aug 08, 2011 1:14 am

One problem with that is that the game can't tell which node is coreward. And even if it could, it would mess up in complicated topologies like the Network, where there are loops, it would find every node as moving coreward. I tried to make it so each ship was stored on the playership, but the problem is they each have different names and so they will change names as they go. I think that the code which lets escorts follow you is hard coded, so I could make them escort the player just as they leave the system, but then the player would enter a system and find several ships suddenly appear behind them. I have a couple of ideas, but they are all very messy. I'll try some of them tonight.
Image
Image
Play in over 100 systems in a network. Play the 2011 Mod Of the Year
and the highest rated mod on Xelerus, The Network.
Play the July Mod of the Month, Fellow Pilgrims!
Play My other mods as well
(Drako Slyith)* I am a person
(Eliza chatbot)> Do you believe it is normal to be a person?

Yama
Militia Lieutenant
Militia Lieutenant
Posts: 114
Joined: Mon Feb 07, 2011 1:32 am
Location: in the apprenticeship program at a Tinker station....

Mon Aug 08, 2011 2:15 am

Oh well, it was just a thought. :oops:

Glad you have some other options to try. :)
"A good ship should not look like a plumber's nightmare."
- Atarlost

User avatar
alterecco
Fleet Officer
Fleet Officer
Posts: 1658
Joined: Wed Jan 14, 2009 3:08 am
Location: Previously enslaved by the Iocrym

Mon Aug 08, 2011 4:58 am

As far as i know you can just stick something like this event on your pilgrims

Code: Select all

<OnPlayerLeftSystem>
  (block nil
    (if [some test]
      'follow
    )
 )
</OnPlayerLeftSystem>
There are values other than 'follow you can return in thatevent, but I can't recall them atm. Perhaps they are on the wiki.
Get your own Galactic Omni Device
Get it now. It's free!!
Image

Drako Slyith
Fleet Officer
Fleet Officer
Posts: 1036
Joined: Wed Feb 03, 2010 4:28 am
Location: Researching how to make St. Kats star go supernova.
Contact:

Mon Aug 08, 2011 4:06 pm

Cool thanks. I'll try it.
Image
Image
Play in over 100 systems in a network. Play the 2011 Mod Of the Year
and the highest rated mod on Xelerus, The Network.
Play the July Mod of the Month, Fellow Pilgrims!
Play My other mods as well
(Drako Slyith)* I am a person
(Eliza chatbot)> Do you believe it is normal to be a person?

shanejfilomena
Fleet Officer
Fleet Officer
Posts: 1483
Joined: Tue Mar 22, 2011 8:43 pm
Location: Alaska

Thu Sep 08, 2011 10:45 am

i did send you my pilgrims ..( I always hoped you could correct my mistakes but I guess I made too many :) )... they have orders to 'followplayer ( found in the wingman base or 'follow in the auton base orders ) : here is a long version of the order ( below ) but i never use " long " if i can avoid it I hate typing.

in my original design for pilgrims, i has set them to a station to appear as an encounter like salvagers ; thought that was too sloppy and lazy so i created a "assembler" to churn them out ( imaged as a dry dock ) and where the drydock came up in a system so did the pilgrims being as the station made them for me to populate the system with 10 of them, but i later cut them down then eventually killed everything because your pilgrims were far superior.

Code: Select all

	(Block Nil
; We never follow but we can show them the path
					(or (eq (sysGetNode) 'SK)
						(eq (sysGetNode) 'PJ))
                                                     1
                                                     )
                                            (((( think that could still work......might have messed it up a tiny bit like i do everything ))))
						

Code: Select all

(block Nil
								(shpCancelOrders gSource)
								(shpOrder gSource 'follow gPlayerShip)
								
								(objSetData gSource "behavior" 'escorting)
                                                                         )

OR : ( wingman code ) if you give them a base or behavior / status, i forgot how you did your pilgrims.

<OnPlayerLeftSystem>
				(block (behavior)
					(setq behavior (objGetData gSource "behavior"))
					(switch
						(or (not behavior)
								(eq behavior 'goingHome)
								)
							Nil

						; If we're waiting, stay in this system and wait for the player
						(or (eq behavior 'waiting)
								(eq behavior 'repairingArmor)
								)
							'waitForPlayer

						; Otherwise, follow the player through the gate
						'followPlayer
						)
					)
			</OnPlayerLeftSystem>


Flying Irresponsibly In Eridani......

I don't like to kill pirates in cold blood ..I do it.. but I don't like it..

Drako Slyith
Fleet Officer
Fleet Officer
Posts: 1036
Joined: Wed Feb 03, 2010 4:28 am
Location: Researching how to make St. Kats star go supernova.
Contact:

Thu Sep 08, 2011 10:01 pm

I haven't gotten to making the pilgrims follow you yet. My plan is to use 'follow to make them follow the player, with a few checks (random variables, so not all of them follow the player, and if the player is moving forward.) then they are moved to random points a random distance away from the player. Then you don't see them following you, but they are. These are just some ideas, and I am open to suggestion.
Image
Image
Play in over 100 systems in a network. Play the 2011 Mod Of the Year
and the highest rated mod on Xelerus, The Network.
Play the July Mod of the Month, Fellow Pilgrims!
Play My other mods as well
(Drako Slyith)* I am a person
(Eliza chatbot)> Do you believe it is normal to be a person?

Drako Slyith
Fleet Officer
Fleet Officer
Posts: 1036
Joined: Wed Feb 03, 2010 4:28 am
Location: Researching how to make St. Kats star go supernova.
Contact:

Sun Sep 11, 2011 2:34 am

I've been working on a rework of the naming system for the pilgrims, which builds a name out of a list of first and last names. I was testing it out, with a short list of random names I wrote up off the top of my head. After killing a few pilgrims, I got this:
Image

Just sorta made me laugh when I saw it. Thought I'd share. :lol:

P.S. I know the wreck name is off. I've already fixed it.
Image
Image
Play in over 100 systems in a network. Play the 2011 Mod Of the Year
and the highest rated mod on Xelerus, The Network.
Play the July Mod of the Month, Fellow Pilgrims!
Play My other mods as well
(Drako Slyith)* I am a person
(Eliza chatbot)> Do you believe it is normal to be a person?

Drako Slyith
Fleet Officer
Fleet Officer
Posts: 1036
Joined: Wed Feb 03, 2010 4:28 am
Location: Researching how to make St. Kats star go supernova.
Contact:

Sun Sep 11, 2011 3:38 am

Thanks for voting this the MOTM. As a present, I just reuploaded it to Xelerus. I added a system where it takes names from a list of first names, adds it to a list of last names to create a new name. It means that there are now hundreds of possible names. I also added PilgrimSettings.xml. I decided to try I new idea I had and make a settings xml. It lets you easily add names to the lists and to choose the max/min domina level for the pilgrims. So if you're tired of being shattered, you can set it to 8. Basically it lets you adjust numbers without sorting through the 2700 lines of code.

I'm eager to hear your thoughts on these changes, especially the settings document. It's just a POC at the moment, but if people like it I'll add more settings.
Image
Image
Play in over 100 systems in a network. Play the 2011 Mod Of the Year
and the highest rated mod on Xelerus, The Network.
Play the July Mod of the Month, Fellow Pilgrims!
Play My other mods as well
(Drako Slyith)* I am a person
(Eliza chatbot)> Do you believe it is normal to be a person?

User avatar
FAD
Militia Captain
Militia Captain
Posts: 732
Joined: Thu Aug 10, 2006 5:33 am
Location: Area 51

Sat Oct 01, 2011 2:02 am

Drako Slyith wrote:One problem with that is that the game can't tell which node is coreward. And even if it could, it would mess up in complicated topologies like the Network, where there are loops, it would find every node as moving coreward. I tried to make it so each ship was stored on the playership, but the problem is they each have different names and so they will change names as they go. I think that the code which lets escorts follow you is hard coded, so I could make them escort the player just as they leave the system, but then the player would enter a system and find several ships suddenly appear behind them. I have a couple of ideas, but they are all very messy. I'll try some of them tonight.
There is a way you can check which gate node is inbound/outbound. If you're still planning to have your Pilgrims 'follow the player, you could use this whenever the player goes coreward;

Code: Select all

(sysFindObject 'your source here' "G:Outbound;")
This could also help prevent the Pilgrims from backtracking/following the player to old systems.

Drako Slyith
Fleet Officer
Fleet Officer
Posts: 1036
Joined: Wed Feb 03, 2010 4:28 am
Location: Researching how to make St. Kats star go supernova.
Contact:

Sat Oct 01, 2011 2:37 am

Yes, but outbound is just a name that is applied to stargates. In the Network, in some systems I have Outbound2, Outbound3, and Outbound. My problem is that even it it tells which stargate is moving coreward, it would still mess up because the topology loops back on itself in some places.

Code: Select all

                  -----C----------D
                 /      |
                A       |
                 \ ---- B
Trying to get to system D from B has infinite possibilities, because you could go B,A,C,D, or B,C,D, or B,C,A,B,C,D, or B,A,C,B,A,C,D, or so on. It could go around in a circle a thousand times, and still keep going.
Image
Image
Play in over 100 systems in a network. Play the 2011 Mod Of the Year
and the highest rated mod on Xelerus, The Network.
Play the July Mod of the Month, Fellow Pilgrims!
Play My other mods as well
(Drako Slyith)* I am a person
(Eliza chatbot)> Do you believe it is normal to be a person?

User avatar
FAD
Militia Captain
Militia Captain
Posts: 732
Joined: Thu Aug 10, 2006 5:33 am
Location: Area 51

Sat Oct 01, 2011 5:28 am

Ok, I understand what you're saying. Another option could be to use "key" systems, such as George does for the player's stats; Never reached St.K's...never reached PJ...etc. Since you don't really want your Pilgrims to follow the player through every system, you could trigger them via globals to follow the player through key systems instead. You could set up what key systems to trigger their advancements. Since you want the Pilgrims to be stand-alone and not reliant on all of the players actions per each system, it would make more sense with less fuss.

Drako Slyith
Fleet Officer
Fleet Officer
Posts: 1036
Joined: Wed Feb 03, 2010 4:28 am
Location: Researching how to make St. Kats star go supernova.
Contact:

Sat Oct 01, 2011 4:14 pm

That could work. I've been trying some code where the pilgrims follow the player with 1/4 chance each, only if the system is an equal or greater level. I've been testing it, but run into trouble where I can't use the gate the player left in as a space object, to get the destination and test it. I looked on the wiki and couldn't find any populated variables in OnPlayerLeftSystem.
Image
Image
Play in over 100 systems in a network. Play the 2011 Mod Of the Year
and the highest rated mod on Xelerus, The Network.
Play the July Mod of the Month, Fellow Pilgrims!
Play My other mods as well
(Drako Slyith)* I am a person
(Eliza chatbot)> Do you believe it is normal to be a person?

User avatar
alterecco
Fleet Officer
Fleet Officer
Posts: 1658
Joined: Wed Jan 14, 2009 3:08 am
Location: Previously enslaved by the Iocrym

Sat Oct 01, 2011 11:57 pm

Hmm... i am sort of jumping into the conversation here, but I might have a suggestion. I must admit that I have not tried the mod, so I am not sure if there are some unwanted side-effects of this suggestion.

It seems to me that pilgrims would mostly be known by their name and ship-class. I suppose that, as the mod works now, you generate a pilgrim in the players current system with a certain chance. If that is the case, then instead of making a complex "tag along" behavior, why not just make a note of the pilgrims the player has come across before, and with a certain chance make that the type of pilgrim being generated in the players current system. That would give the player the impression of once in a while running into the same pilgrim, from a few systems back, or from a few systems ahead. Supposedly the AI pilgrims will not be more determined to only travel coreward than the player.

Anyways... just a suggestion. Perhaps you can use it. If you have any questions to it, just ask.
Get your own Galactic Omni Device
Get it now. It's free!!
Image

Post Reply