Official Fulqrum Publishing forum

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

Trucidation 06-08-2010 12:46 PM

Maybe the guys on the StarRover forum can help? I registered there during the weekend but the confirmation email has not arrived. Wanted to comment in the english-speakers thread. From what I understood they're supposed to have been working on a rather large mod which implemented quests, time-sensitive quests at that. Interesting.

Edit:
Hmm. You guys know there are these mothership modules which (1) increase max speed, (2) increase maneuverability, and (3) increase both?

m_bs_modules.loc
Code:

- #M_Name_BS_EngAmp1        = Buffalo (max speed +20%)
  BS_EngAmp1; MovingForceModule

- #M_Name_BS_ManAmp        = Buffalo Mk 2 (maneuverabilty +50%)
  BS_ManAmp; ImproveManeuverabilityModule

- #M_Name_BS_EngManAmp1        = Elephant (max speed +15%, maneuverability +25%)
  BS_EngManAmp1; SpeedAndSteeringPowerModule

I thought #3 is simply #1 and #2 mashed together. Unfortunately that is not the case :(

AllModules.xsd
Code:

<xs:complexType name="MovingForceModule">
  <xs:complexContent>
      <xs:extension base="SystemModule">
        <xs:sequence>
            <xs:element name="moving_force_ratio" type="TFloat">
              <xs:annotation>
                  <xs:documentation>коэффициент увеличения скорости</xs:documentation>
              </xs:annotation>
            </xs:element>
        </xs:sequence>
      </xs:extension>
  </xs:complexContent>
</xs:complexType>
-
<xs:complexType name="ImproveManeuverabilityModule">
  <xs:complexContent>
      <xs:extension base="SystemModule">
        <xs:sequence>
            <xs:element name="rateOfManeuverability" type="TFloat"/>
        </xs:sequence>
      </xs:extension>
  </xs:complexContent>
</xs:complexType>
-
<xs:complexType name="SpeedAndSteeringPowerModule">
  <xs:complexContent>
      <xs:extension base="SystemModule">
        <xs:sequence>
            <xs:element name="moving_force_ratio" type="TFloat">
              <xs:annotation>
                  <xs:documentation>коэффициент увеличения скорости</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="rateOfSteeringPower" type="TFloat"/>
        </xs:sequence>
      </xs:extension>
  </xs:complexContent>
</xs:complexType>

As you can see, even though both refer to maneuverability, <ImproveManeuverabilityModule> calls it <rateOfManeuverability>, while <SpeedAndSteeringPowerModule> calls it <rateOfSteeringPower>.

On the other hand, <moving_force_ratio> is the same, and the fighter items also use <moving_force_ratio>.

StarShatter 06-08-2010 01:09 PM

Just Wondering:

If you put a gun on a ship, facing backwards (rotated in the IMD)... Would it fire backwards? and would it fire independently of the front facing guns?

Or has anyone tried this? Because if no one has, I think I might give it a go. :D

Err also, bit of help required. How do I add a ship to appear in certain shops, very rarely, like in a black market on a low %? Making two versions of the Dragon T, and I don't want the second one to appear in a "fixed" sort of way.

This: local Market=GetBlackMarket("nk");?
But with "harron" not "nk"?

And
"Market:ShipGoodsState("Gunslinger_grey0", RAND(5)+1, 1, 0.7);" would become "Market:ShipGoodsState("Dragon_te1", RAND(A)+1, B, C);"
A = number to stock? What about B and C?

Trucidation 06-08-2010 01:26 PM

I thought all guns fire independently? E.g. when I tell my mothership to fire at an asteroid on it's left, the left gun swings around to fire at it, but the right gun won't because it's out of the firing arc. Do the weapon definitions have this firing arc parameter?

Edit:
What I mean to say is, the guns seem to fire if target enters range, and doesn't seem to care if other guns can fire at the target or not. This is most noticeable on the slow, large mothership but I imagine it applies to fighters as well.

Okay, I tried combining mothership radar and mothership engine (mainly because the results should be easily seen in max speed + radar range increases).

1. Created definition in AllModules.xsd:
Code:

  <xs:complexType name="ComboBSOne">
    <xs:complexContent>
      <xs:extension base="SystemModule">
        <xs:sequence>
          <xs:element name="moving_force_ratio" type="TFloat"/>
          <xs:element name="resolution" type="TFloat"/>
          <xs:element name="max_distance" type="TFloat"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

I merely compared the separate definitions for RadarModule and MovingForceModule. Both start with the same extension to SystemModule, so I just added all three elements.

2. Added it to Modules.xsd:
Code:

              <xs:element name="ComboBSOne" type="ComboBSOne" minOccurs="0"/>
This file contains the elements list, so I added my new one in.

3. Finally, edited an entry in Modules.xml so that it would point to the new item.
Code:

        <ComboBSOne name="BS_EngAmp1">
                <short_name>#M_Name_BS_EngAmp1</short_name>
                <hint>#M_Hint_BS_EngAmp1</hint>
                <short_desc>#M_SDesc_BS_EngAmp1</short_desc>
                <long_desc>#M_LDesc_BS_EngAmp1</long_desc>
                <mesh_name>systembox</mesh_name>
                <flat_image>Mothership Engines 02</flat_image>
                <hit_points>10000</hit_points>
                <mass>10</mass>
                <disable_trade>false</disable_trade>
                <cost>140000</cost>
                <technology/>
                <attach_type>ONLY_BIGSHIP</attach_type>
                <moving_force_ratio>1.2</moving_force_ratio>!!
                <resolution>0.2</resolution>
                <max_distance>400</max_distance>
        </ComboBSOne>

I chose to edit BS_EngAmp1, the "Buffalo", which was originally a MovingForceModule entry. As you can see, I followed the definition and you can see the three element entries at the bottom: moving_force_ratio, resolution, and max_distance.

Game started fine, loaded an early save at Elio. Docked at a trade station... CTD. Here's what LOGfile.txt had to say at the end:
Code:

(22:12:26) (ERROR) ModuleManager::CreateGameObject('bs_engamp1') - element with specified name is not Is_A(CLSID_GameObject): className = 'ComboBSOne'
(22:12:26) (ERROR) ModuleManager::CreateObject('bs_engamp1') - game object not created!
(22:12:26) (ERROR) ModuleManager::CreateModule('bs_engamp1') - module not created

It's complaining about CLSID_GameObject... which I'm guessing is referring to a hardcoded parameter (?). So it looks like we can't make combination items.
:-x

Update:
This time I tried merely editing an existing definition. ImproveManeuverabilityModule looks like a good candidate, there are only 3 items associated with it. I opened AllModules.xsd and added a new element, "moving_force_ratio". Again, I chose this because if it works then the results should be visible on the trade screen.

Had to edit the three entries in Modules.xml to add the new moving_force_ratio value. These were ManAmp1, ManAmp2, and BS_ManAmp respectively. Started game, loaded Elio, docked at the trade station... and nothing happened. When I bought one of the modified items (BS_ManAmp, the "Buffalo Mk 2" 50% maneuverability boost) and installed it on the ship, the maneuverability increased, but not the top speed... even though I already added a moving_force_ratio element. The game didn't crash or complain, the modification was simply ignored.

So if the definitions are hardcoded, then why bother with the entire XMLSchema folder? Hmm, come to think of it, I've yet to see any mod actually change anything in here.

Rastix 06-08-2010 07:33 PM

For now only speed and maneuverability can be combine

Trucidation 06-08-2010 10:20 PM

Yes Rastix, but if the XML schema files weren't hardcoded this needn't be the case. I might be wrong on that last bit though, iirc Nanaki mentioned something about needing to edit them for custom perks.

Edit:
I'm doing a hella lot of editing on this forum, lol. But I dislike multiposting, it just looks messy.

Anyway... just some figures on missile jamming and effective antijamming values. Here's a quick recap of the formula in \Data\Scripts\AI\JamRocket.script:
Code:

function JamRocket(jamPower, antiJammer)
        local pomeha = jamPower + 10 - RAND(30);
        return pomeha > antiJammer;
end;

Basically we're given a 1 in 30 chance against the difference between an ECM/ACS's jamming value versus a missile's antijamming. That function takes in the jamming and anti values, and simply returns true or false.
Code:

(jam 10)
at anti 10 --> 20-X>10 for (0-9 out of 30) i.e. 33%
jam 10 fails for all anti 20+

(jam 20)
at anti 10 --> 30-X>10 for (0-19 out of 30) i.e. 66%
at anti 20 --> 30-X>20 for (0-9 out of 30) i.e. 33%
jam 20 fails for all anti 30+

(jam 30)
at anti 10 --> 40-X>10 for (0-30) i.e. 100%
at anti 20 --> 40-X>20 for (0-19 out of 30) i.e. 66%
at anti 30 --> 40-X>30 for (0-9 out of 30) i.e. 33%
jam 30 fails for all anti 40+

(jam 40)
at anti 20 --> 50-X>20 for (0-30) i.e. 100%
at anti 30 --> 50-X>30 for (0-19 out of 30) i.e. 66%
at anti 40 --> 50-X>40 for (0-9 out of 30) i.e. 33%
jam 40 fails for all anti 50+

Missile antijamming and a jammer of the same level equates to a 1-in-3 chance, and each point of jamming roughly adds 3.3% effectiveness.

We have 5 levels of antijamming on missiles, starting from 0 (no antijamming), 10, 20, 30, and 40. The alien missiles and torpedoes are rated 50 btw so technically they're supposed to be unstoppable. As you can see, anything rated 2 levels below (ECM/ACS=40 versus missile antijamming=20) is always countered, and anything 1 level above (ECM/ACS=20 versus missile antijamming=30) always passes.

So with the best antijamming equipment (rating 40), you'll always stop at least 3 classes of missiles (no jam, 10, and 20), 1 in 3 chances of getting hit by a missile rated 30, and 2 in 3 chances of getting hit with a missile rated 40.

Hmm, the figures aren't bad. Not too strong, and not useless.

Rastix 06-09-2010 09:00 AM

Don't forget about tech perk and their modifiers

Trucidation 06-09-2010 09:27 AM

1 Attachment(s)
Yeah, this is just the function for the base values so that players have some idea how well the perk-less enemies they fight against fare.

Edit:
Just found another amusing picture, perhaps someone might want to use it for a pilot portrait...

Kothyxaan 06-09-2010 08:32 PM

quick question, if you change the equipment slots on a fighter, is it changed for the enemy as well?

i changed trident so that instead of
3 small guns
1 rocket slot
4 systems

it has
3 small guns
5 systems

will other ships ie npc's/enemy have the 3 small guns, 5 system layout as well?

Goblin Wizard 06-09-2010 08:44 PM

It depends. If you changed only player version, no problem.
Which files did you modify?

Trucidation 06-09-2010 09:59 PM

I haven't bothered modding ships yet, but like Goblin Wizard mentions, ships come in many different variations.

When we say "Bident" we think "oh, missile ship", but when you run a search though the definitions in Carcasses.xml there's actually 8 versions of those. Then from those 8 definitions, ShipDescriptions.xml expands it into 23 actual loadouts -- I'm guessing the player one is the one with the "_pl" tag (the others are like "_pat" for patrol and "_tri" for Triada). I'm not quite sure why they have a number behind them, though (_pl0, _pl1), but it's likely just multiple variations of the same ship for that faction.

This is why I haven't bothered with ships yet. Too many variations to keep track of. I might be using my script to tweak the hp and shield restore values though.

Quote:

Originally Posted by Goblin Wizard (Post 163323)
There is another parameter called EPR. It stands for english RCS (radar cross section). I really would like to know how all these parameters influence each other.
A little about sensor resolution here.

Not just ships but missiles have this EPR value as well. In Rockets.xml, all rocket definitions are using the same EPR value (0.05). I'm not sure how it relates to radar, because in Modules.xml rocket entries don't have a radar range - they simply have min/max firing range. Additionally, detonators for MIRV-type rockets have a <radius_search_target> value. I suppose this is "radar" for the secondary warheads it splits into.

In Modules.xml radars modules have 2 values, resolution and max_distance. In Carcasses.xml ship definitions only have EPR value (just like missiles? hmmm).

-
Edit:
One more thing, I was comparing the so-called rapid fire heavy guns and kinetic heavy guns because one of the gunnery perks says it improves skill on both "small guns and rapid fire guns". But looking at the Modules.xml entry for the M-106 Bardiche ("HC1", heavy kinetic gun) and the M-200E Vulcan ("VC1", heavy rapid fire gun), how does the game tell one is a rapid fire weapon while the other is not? They are both using IMPACT damage_type. Actually even plasma guns do IMPACT damage (huh wtf??). So I took a closer look at the guns, and all of them either deal IMPACT or LASER damage. Only two types of damage?

There is a graph_type, and this one does show more variety (BIG, SMALL, PLASMA, LASER) but I thought this was referring to the projectile graphics. By the way it seems like the sfx_index are referring to entries in \Data\PFX\Projectiles.sfx (e.g. the Alien gun "ASG" is type SMALL and sfx index 2, and if you look into Projectiles.sfx under the small guns' entries ("TracerSFX_"), the third entry (0, 1, 2) has a COLOR RGB index of 14,144,215... exactly the light blue colour of the alien gun's bullets.

I need to find the perks so I can see how gunnery is being calculated.


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

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