Official Fulqrum Publishing forum

Official Fulqrum Publishing forum (http://forum.fulqrumpublishing.com/index.php)
-   Star Wolves (http://forum.fulqrumpublishing.com/forumdisplay.php?f=138)
-   -   Random Contacts (http://forum.fulqrumpublishing.com/showthread.php?t=14176)

Nanaki 06-10-2010 04:47 PM

Quote:

The third {} appears to be used only by the gun specialisations (choose HC / AC / Laser). I wonder if we can put other perks in here as well. E.g. choose between Criticals_1 or Hard_to_Kill.
You can.

Rastix 06-10-2010 06:02 PM

Quote:

Originally Posted by Goblin Wizard (Post 163810)
This is actually true. Not only active dialogs are affected. It's hard to explain because not each dialog is displayed wrong. From time to time you'll see "#string_name String not found".

I know 2 ways to avoid filetype_dynamic if you'll want to make your own story but i am recommend waiting for patch 1.12 as it gives new filetype specially for modding

Goblin Wizard 06-10-2010 06:45 PM

Quote:

Originally Posted by Rastix (Post 163850)
I know 2 ways to avoid filetype_dynamic if you'll want to make your own story but i am recommend waiting for patch 1.12 as it gives new filetype specially for modding

I'm not good at waiting so what's your solutions?

"To be 100% sure everything works you have to type whole text in the xml file." - Is that kind of solution? ;)

Rastix 06-10-2010 09:16 PM

I don't know anything about THIS method ;)

Trucidation 06-11-2010 12:30 AM

2 Attachment(s)
Perhaps you mean entering the text directly into the Dialog xml instead of making it refer to a loc file? I'm not sure if that works, I'll go test if it allows you to enter text instead of a #string in the <message> and <answer> tags.

Edit:
Ah, yes it seems to work. I edited the XML and replaced the #string with plaintext (screenshot 1) and tried it in the game (screenshot 2). I guess this is what he meant by putting the text directly into the XML.

The xml file doesn't specify the name of the loc file it refers to, I guess the game simply recycles the name. I suppose if we put all the text into the xml, you still need the loc file but we can leave empty except for the header comments.

Edit:
Fixed the screenshot, was using an old one.

Goblin Wizard 06-11-2010 07:18 AM

Quote:

Originally Posted by Rastix (Post 163879)
I don't know anything about THIS method ;)

What about your solutions? Please, share your secrets.:)

Trucidation 06-11-2010 03:35 PM

Too bad the perk display visuals appear to be limited by that display rectangle. I was thinking of a single tree with every freaking thing on it (with suitably modified requisites), problem is the display.

Just compiled our scripts together (mothership, fleet, missiles), then I threw in some test parameters: shield modules (increase /2, regen rate +13 then /2), and I halved all fighter-only combat pulse laser damage.

Nanaki 06-11-2010 03:51 PM

Quote:

Originally Posted by Trucidation (Post 164032)
Too bad the perk display visuals appear to be limited by that display rectangle. I was thinking of a single tree with every freaking thing on it (with suitably modified requisites), problem is the display.

Actually, that is not much of a problem at all. The problem is that once you have enough abilities, your ability drop-down (or drop-up, in SW's case) gets so crowded that your no longer able to use some abilities or toggle your missiles on/off, as they have gone off the screen.

Trucidation 06-17-2010 05:38 AM

Changes to passive skills
 
It struck me that we've mostly been just moving the perks around (i.e. editing the perk trees), or in your case changing the summon perks. The actual behaviour of the perks themselves, especially the passive ones, appear to be hardcoded. (Well, hardcoded inside editable script files, so they're not un-editable, but it makes changing them a huge pain in the ass especially since we don't know what else may be referenced.)

\Data\Scripts\AI\CalculatePilotSkills.script shows some damning evidence. It's littered with stuff like
Code:

if pilot:HavePerk("Gunnery_1")
then
        amplifier = amplifier + .2;
end;

...instead of simply looping through the pilot's skills and checking what each one is for. This sample code is basically saying that Gunnery_1 perk will always modify some amplifier value by 0.2.

Further incriminating evidence can be found in \Data\Scripts\AI\perkDispatcher.script:
Code:

if pilot:HavePerk("Learner")
then
        amplifier = amplifier + .1
end;

Again, it's making a fixed assumption - in this case, perk "Learner" will always cause a +0.1 value. I'll go through a few more files and see if we can identify what else touches perks.

\Data\Game\Perks.xml:
This supposedly defines each perk, its description, exp point cost, requirements. But if you look, all the PerkRequirement child tags for all entries are empty. (And why is pilot_name inside PerkRequirement? o_O)

\Data\Game\Pilots.xml:
This supposedly defines each pilot, points(?), kills(?), morale(?), and perks. The four value tags ("piloting", "guns", "rockets", "electronic_warfare") match the tags in the PerkRequirement sections of Perks.xml above.

Speculation: it seemed they planned to have a points-based requirement perk tree originally - i.e. instead of buying the skills directly with the pilot's exp, you used the exp to put into one of the four categories, and when you had enough to meet a skill's requirements then that pilot learned it.

A little later along the line they probably realised that with enough points in each category, the player would automatically unlock all the skills which meet those requirements. So in order to avoid this, they decided to make skills require direct skill prerequisites instead. I'm making an educated guess here based on how this explains the structure of the perk definitions inside \Data\Scripts\include\PilotProperties.script which was mentioned earlier by Nanaki.

Of course, I'm stumped by non-controllable pilots, i.e. NPCs. They don't have skill trees and they don't have entries in PilotProperties.script. Example, Hero's old classmate, the USS bigshot Ethan Fry. The only perk entries I can find for him are the ones inside Pilots.xml. So I'm guessing that for NPCs the game does use these. They don't have prerequisites or skill trees to worry about, but can't learn any more skills anyway. I assume that if you want to change their skills you have to do it here.

-
Summary
If you want to change the actual effects of perks, you'll have to go down and dirty into perkDispatcher.script and CalculatePilotSkills.script. Say for example you create a combo skill "Strafe_1" which gives both a maneuverability bonus and an accuracy bonus. You'll have to go into these two files and add it.

But it's not that simple, this is all theory only! If I'm not mistaken others have mentioned that we can't actually add new skills (guys, please correct me here if you can! - I've only taken a look at the pilot/perk scripts, haven't actually tested editing them!).

So let's say you play safe and just mod an existing skill, for example changing Gunnery_1 to give critical hits as well and not just accuracy. This looks within our reach: all you have to do is go to where the function for critical hits is, and create an additional check for Gunnery_1. I'm fairly sure this will work. However, it will affect ALL pilots who have this Gunnery_1 skill.

NOTE: This is only for passive skills! I've seen mention of the active ones elsewhere in other scripts.

Nanaki 06-17-2010 11:00 AM

You can add new skills as long as they do not require any editing to the XMLSchema files. Editing the XML Schema files is necessary if you want to use custom parameters in the XML file.

So, you can add new skills as long as they do not require any custom parameters.


All times are GMT. The time now is 02:19 PM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 2007 Fulqrum Publishing. All rights reserved.