Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.97a is out! (02/02/24); New blog post: Simulator Enhancements (03/13/24)

Poll

Your opinion on the Zorg matters

More fighters
- 11 (16.9%)
More frigates
- 5 (7.7%)
More destroyers
- 5 (7.7%)
More cruisers
- 4 (6.2%)
More capital ships
- 30 (46.2%)
More utility ships (freighters)
- 10 (15.4%)

Total Members Voted: 64


Pages: 1 ... 5 6 [7] 8 9 ... 24

Author Topic: [0.6.2a] ZORG - V18 - (Exerelin + Uomoz Compatible!) - Campaign Mode!  (Read 162513 times)

Erick Doe

  • Global Moderator
  • Admiral
  • *****
  • Posts: 2489
  • "Pretty cunning, don't you think?"
    • View Profile
Re: [0.6a] ZORG - V12 - (Exerelin Compatible!)
« Reply #90 on: September 24, 2013, 04:25:01 AM »

Yea..... erm......
Just a question, where ARE the zorg in .6? I have yet to see one of the ships, but I've gotten the weapons.
Are they simply not in campaign right now? (other then weapons?)

Working down a checklist. The Zorg mod's campaign is almost ready!

yaaaaay  :D

:)

It is almost ready.
Logged

ssthehunter

  • Lieutenant
  • **
  • Posts: 53
    • View Profile
Re: [0.6a] ZORG - V12 - (Exerelin Compatible!)
« Reply #91 on: September 24, 2013, 05:24:31 AM »

Yea..... erm......
Just a question, where ARE the zorg in .6? I have yet to see one of the ships, but I've gotten the weapons.
Are they simply not in campaign right now? (other then weapons?)

Working down a checklist. The Zorg mod's campaign is almost ready!


:)

It is almost ready.
YAAAAAAAY :D
Keep up the good work then (though I'm scared.  Zorg X_X)

yaaaaay  :D
« Last Edit: September 24, 2013, 06:36:53 AM by ssthehunter »
Logged

Erick Doe

  • Global Moderator
  • Admiral
  • *****
  • Posts: 2489
  • "Pretty cunning, don't you think?"
    • View Profile
Re: [0.6a] ZORG - V12 - (Exerelin Compatible!)
« Reply #92 on: September 24, 2013, 06:03:00 AM »

Today's checklist:
-Zorg ships spawn DONE
-Zorg cargo at station DONE
-Add description for Zorg Zeta DONE
-Fix missing dialog bug DONE
-Add custom station illustration DONE (Good grief! This took me forever!)
-Add Zorg relations toward other factions DONE (Finally!)
-Create alternate start for Zorg player NOT DONE
-Add Zorg delivery convoy NOT DONE

We're close now. I'd like to thank Uomoz for helping me out with a few things! Now all I have to do is add a Zorg convoy that delivers goods to Zorg Zeta. And I'll add an alternate download, where you start as part of the Zorg faction, which can be done rather quickly.
Logged

Erick Doe

  • Global Moderator
  • Admiral
  • *****
  • Posts: 2489
  • "Pretty cunning, don't you think?"
    • View Profile
Re: [0.6a] ZORG - V12 - (Exerelin Compatible!)
« Reply #93 on: September 24, 2013, 07:03:55 AM »

Right now this is the only thing stopping me from releasing the campaign version:

I can't get a proper convoy to spawn in and deliver goods to the station:


I've tried adding a Zorg convoy to deliver random weapons and ships to Zorg Zeta.


I've added this line to the ZorgGen:
      system.addScript(new ZorgConvoySpawn(sector, hyper, 1, 10, hyper.createToken(-6000, 2000), station));


Maybe I forgot to import something?

ZorgConvoySpawn.java:
Code
package data.scripts.world.systems;

import java.util.List;

import com.fs.starfarer.api.Global;
import com.fs.starfarer.api.campaign.CampaignFleetAPI;
import com.fs.starfarer.api.campaign.CargoAPI;
import com.fs.starfarer.api.campaign.FleetAssignment;
import com.fs.starfarer.api.campaign.LocationAPI;
import com.fs.starfarer.api.campaign.SectorAPI;
import com.fs.starfarer.api.campaign.SectorEntityToken;
import com.fs.starfarer.api.campaign.StarSystemAPI;
import com.fs.starfarer.api.fleet.FleetMemberAPI;
import com.fs.starfarer.api.fleet.FleetMemberType;

import data.scripts.world.BaseSpawnPoint;

@SuppressWarnings("unchecked")
public class ZorgConvoySpawn extends BaseSpawnPoint {

private final SectorEntityToken convoyDestination;

public ZorgConvoySpawn (SectorAPI sector, LocationAPI location,
float daysInterval, int maxFleets, SectorEntityToken anchor,
SectorEntityToken convoyDestination) {
super(sector, location, daysInterval, maxFleets, anchor);
this.convoyDestination = convoyDestination;
}

private int convoyNumber = 0;

@Override
protected CampaignFleetAPI spawnFleet() {
String type = null;
float r = (float) Math.random();
if (r > .75f) {
type = "prospectors";
} else if (r > 0.5f) {
type = "salvagers";
} else {
type = "assimilators";
}

StarSystemAPI corvus = Global.getSector().getStarSystem("Corvus");
float angle = (float) ((float) Math.random() * Math.PI * 2f);
float x = (float) (Math.cos(angle) * 12000f) + corvus.getLocation().x;
float y = (float) (Math.sin(angle) * 12000f) + corvus.getLocation().y;
SectorEntityToken spawnPoint = Global.getSector().getHyperspace().createToken(x, y);

CampaignFleetAPI fleet = getSector().createFleet("zorg", type);
spawnPoint.getContainingLocation().spawnFleet(spawnPoint, 0, 0, fleet);

fleet.setPreferredResupplyLocation(convoyDestination);

CargoAPI cargo = fleet.getCargo();

addRandomWeapons(cargo, (int) (Math.random() * 3f) + 2);
addRandomShips(fleet, (int) (Math.random() * 2f) + 0);

fleet.addAssignment(FleetAssignment.DELIVER_RESOURCES, convoyDestination, 1000);
fleet.addAssignment(FleetAssignment.GO_TO_LOCATION_AND_DESPAWN, spawnPoint, 1000);

convoyNumber++;
return fleet;
}

private void addRandomWeapons(CargoAPI cargo, int count) {
List weaponIds = getSector().getAllWeaponIds();
for (int i = 0; i < count; i++) {
String weaponId = (String) weaponIds.get((int) (weaponIds.size() * Math.random()));
int quantity = (int)(Math.random() * 4f + 2f);
cargo.addWeapons(weaponId, quantity);
}
}

private void addRandomShips(CampaignFleetAPI fleet, int count) {
List wings = getSector().getAllFighterWingIds();
List ships = getSector().getAllEmptyVariantIds();
for (int i = 0; i < count; i++) {
if ((float) Math.random() > 0.4f) {
String wing = (String) wings.get((int) (wings.size() * Math.random()));
FleetMemberAPI member = Global.getFactory().createFleetMember(FleetMemberType.FIGHTER_WING, wing);
fleet.getFleetData().addFleetMember(member);
member.getRepairTracker().setMothballed(true);
} else {
String ship = (String) ships.get((int) (ships.size() * Math.random()));
FleetMemberAPI member = Global.getFactory().createFleetMember(FleetMemberType.SHIP, ship);
fleet.getFleetData().addFleetMember(member);
member.getRepairTracker().setMothballed(true);
}
}
}

}






ZorgGen.java:

I added this line:
system.addScript(new ZorgConvoySpawn(sector, hyper, 1, 10, hyper.createToken(-6000, 2000), station));

Code
package data.scripts.world.zorg;

import com.fs.starfarer.api.campaign.FactionAPI;
import com.fs.starfarer.api.InteractionDialogImageVisual;
import com.fs.starfarer.api.Global;
import com.fs.starfarer.api.campaign.CargoAPI;
import com.fs.starfarer.api.campaign.CargoAPI.CrewXPLevel;
import com.fs.starfarer.api.campaign.JumpPointAPI;
import com.fs.starfarer.api.campaign.LocationAPI;
import com.fs.starfarer.api.campaign.OrbitAPI;
import com.fs.starfarer.api.campaign.PlanetAPI;
import com.fs.starfarer.api.campaign.SectorAPI;
import com.fs.starfarer.api.campaign.SectorEntityToken;
import com.fs.starfarer.api.campaign.StarSystemAPI;
import com.fs.starfarer.api.fleet.FleetMemberType;
import com.fs.starfarer.api.impl.campaign.CoreCampaignPluginImpl;
import java.awt.Color;
import java.util.List;

@SuppressWarnings("unchecked")
public class ZorgGen {

public void generate(SectorAPI sector) {

StarSystemAPI system = sector.createStarSystem("Zorg Zeta");
LocationAPI hyper = Global.getSector().getHyperspace();
system.setBackgroundTextureFilename("graphics/zorg/backgrounds/backgroundzorg3.png");

// create the star and generate the hyperspace anchor for this system
PlanetAPI star = system.initStar("star_zorg", // id in planets.json
200f, // radius (in pixels at default zoom)
10000, -10000);   // location in hyperspace

system.setLightColor(new Color(25, 75, 55)); // light color in entire system, affects all entities


/*
* addPlanet() parameters:
* 1. What the planet orbits (orbit is always circular)
* 2. Name
* 3. Planet type id in planets.json
* 4. Starting angle in orbit, i.e. 0 = to the right of the star
* 5. Planet radius, pixels at default zoom
* 6. Orbit radius, pixels at default zoom
* 7. Days it takes to complete an orbit. 1 day = 10 seconds.
*/
PlanetAPI z1 = system.addPlanet(star, "Zeta I", "rocky_metallic", 0, 100, 5000, 100);

PlanetAPI z2 = system.addPlanet(star, "Zeta II", "rocky_metallic", 90, 150, 10000, 150);



JumpPointAPI jumpPoint = Global.getFactory().createJumpPoint("Inner System Jump");
OrbitAPI orbit = Global.getFactory().createCircularOrbit(z1, 0, 1000, 10);
jumpPoint.setOrbit(orbit);
jumpPoint.setRelatedPlanet(z1);
jumpPoint.setStandardWormholeToHyperspaceVisual();
system.addEntity(jumpPoint);


    FactionAPI zorg = sector.getFaction("zorg");

      zorg.setRelationship("hegemony", -1);
      zorg.setRelationship("tritachyon", -1);
      zorg.setRelationship("pirates", -1);
      zorg.setRelationship("independent", 0);
      zorg.setRelationship("player", 0);


SectorEntityToken station = system.addOrbitalStation(star, 180, 500, 10, "Unimatrix", "zorg");
initStationCargo(station);

station.setCustomInteractionDialogImageVisual(new InteractionDialogImageVisual("illustrations", "cargo_loading", 640, 400));

// example of using custom visuals below
// a1.setCustomInteractionDialogImageVisual(new InteractionDialogImageVisual("illustrations", "hull_breach", 800, 800));
// jumpPoint.setCustomInteractionDialogImageVisual(new InteractionDialogImageVisual("illustrations", "space_wreckage", 1200, 1200));
// station.setCustomInteractionDialogImageVisual(new InteractionDialogImageVisual("illustrations", "cargo_loading", 1200, 1200));

// generates hyperspace destinations for in-system jump points
system.autogenerateHyperspaceJumpPoints(true, true);

                ZorgSpawnPoint ZSpawn = new ZorgSpawnPoint(sector, system, 3, 12, station);
system.addSpawnPoint(ZSpawn);
    for (int i = 0; i < 3; i++) ZSpawn.spawnFleet();


system.addScript(new ZorgConvoySpawn(sector, hyper, 1, 10, hyper.createToken(-6000, 2000), station));
                   
                   
                sector.registerPlugin(new CoreCampaignPluginImpl());
}


private void initStationCargo(SectorEntityToken station) {
CargoAPI cargo = station.getCargo();
addRandomWeapons(cargo, 10);

cargo.addCrew(CrewXPLevel.VETERAN, 20);
cargo.addCrew(CrewXPLevel.REGULAR, 500);
cargo.addCrew(CrewXPLevel.GREEN, 500);
cargo.addMarines(300);
cargo.addSupplies(2000);
cargo.addFuel(1000);
cargo.addWeapons("adaptorray", 3);
cargo.addWeapons("concussionray", 3);
cargo.addWeapons("disruptorray", 3);
cargo.addWeapons("handlerray", 5);
cargo.addWeapons("interdictorray", 5);
cargo.addWeapons("transmitterray", 3);

cargo.getMothballedShips().addFleetMember(Global.getFactory().createFleetMember(FleetMemberType.SHIP, "zorg_allocator_Active"));
cargo.getMothballedShips().addFleetMember(Global.getFactory().createFleetMember(FleetMemberType.SHIP, "zorg_control_matrix_Active"));
cargo.getMothballedShips().addFleetMember(Global.getFactory().createFleetMember(FleetMemberType.SHIP, "zorg_control_matrix_Armoured"));
cargo.getMothballedShips().addFleetMember(Global.getFactory().createFleetMember(FleetMemberType.SHIP, "zorg_drone_ActiveY"));
cargo.getMothballedShips().addFleetMember(Global.getFactory().createFleetMember(FleetMemberType.SHIP, "zorg_drone_ActiveZ"));
cargo.getMothballedShips().addFleetMember(Global.getFactory().createFleetMember(FleetMemberType.SHIP, "zorg_surveyor_ActiveY"));
cargo.getMothballedShips().addFleetMember(Global.getFactory().createFleetMember(FleetMemberType.SHIP, "zorg_surveyor_ActiveZ"));
cargo.getMothballedShips().addFleetMember(Global.getFactory().createFleetMember(FleetMemberType.SHIP, "zorg_tactical_overseer_Active"));
cargo.getMothballedShips().addFleetMember(Global.getFactory().createFleetMember(FleetMemberType.SHIP, "zorg_tactical_probe_Active"));
cargo.getMothballedShips().addFleetMember(Global.getFactory().createFleetMember(FleetMemberType.FIGHTER_WING, "zorg_worker_wing"));
cargo.getMothballedShips().addFleetMember(Global.getFactory().createFleetMember(FleetMemberType.FIGHTER_WING, "zorg_worker_wing"));
cargo.getMothballedShips().addFleetMember(Global.getFactory().createFleetMember(FleetMemberType.FIGHTER_WING, "zorg_disabler_wing"));
cargo.getMothballedShips().addFleetMember(Global.getFactory().createFleetMember(FleetMemberType.FIGHTER_WING, "zorg_disabler_wing"));
cargo.getMothballedShips().addFleetMember(Global.getFactory().createFleetMember(FleetMemberType.FIGHTER_WING, "zorg_probe_wing"));
cargo.getMothballedShips().addFleetMember(Global.getFactory().createFleetMember(FleetMemberType.FIGHTER_WING, "zorg_probe_wing"));

}


private void addRandomWeapons(CargoAPI cargo, int count) {
List weaponIds = Global.getSector().getAllWeaponIds();
for (int i = 0; i < count; i++) {
String weaponId = (String) weaponIds.get((int) (weaponIds.size() * Math.random()));
int quantity = (int)(Math.random() * 4f + 2f);
cargo.addWeapons(weaponId, quantity);
}
}

}


Help?  :o
Logged

Erick Doe

  • Global Moderator
  • Admiral
  • *****
  • Posts: 2489
  • "Pretty cunning, don't you think?"
    • View Profile
Re: [0.6a] ZORG - V12 - (Exerelin Compatible!)
« Reply #94 on: September 24, 2013, 07:41:37 AM »

Alright, in wait of the convoy fix, I've decided to release an all-hostile Zorg mod. Basically the Zorg system in the campaign mode is hostile to everyone in this:

Zorg V14


Enjoy!

V14 should work with Exerelin. If not, download Zorg V12!
« Last Edit: September 24, 2013, 10:51:12 AM by Erick Doe »
Logged

Erick Doe

  • Global Moderator
  • Admiral
  • *****
  • Posts: 2489
  • "Pretty cunning, don't you think?"
    • View Profile
Re: [0.6a] ZORG - V14a - (Exerelin Compatible!) - Early Campaign Mode!
« Reply #95 on: September 25, 2013, 04:06:34 AM »

V12a (Exerelin compatible)


V14a (Exerelin compatible + early campaign mode)


Link to LazyLib: LazyLib
Link to Exerelin: Exerelin


Updated V12 and 14. Increased cargo capacity of several ships, to support their carnivorous supply consumption.
Logged

Erick Doe

  • Global Moderator
  • Admiral
  • *****
  • Posts: 2489
  • "Pretty cunning, don't you think?"
    • View Profile
Re: [0.6a] ZORG - V14a - (Exerelin Compatible!) - Early Campaign Mode!
« Reply #96 on: September 25, 2013, 05:32:07 AM »

Working on adding a 'frigate' built to absorb huge amounts of damage, while dishing out next to nothing. It will likely be armed with two efficient PD weapons. Similar to the Tactical Probe. It will be more heavily armoured though.

Zorg Tactical Sphere:



Experimenting with a larger and more durable version. A dedicated buoy or comm relay capturing ship. All armour and very little fire-power.

Zorg Tactical Conjuction:
Logged

Erick Doe

  • Global Moderator
  • Admiral
  • *****
  • Posts: 2489
  • "Pretty cunning, don't you think?"
    • View Profile
Re: [0.6a] ZORG - V14a - (Exerelin Compatible!) - Early Campaign Mode!
« Reply #97 on: September 25, 2013, 08:57:41 AM »

Super duper new video, showcasing the history of the Zorg!

Watch the video here!

Spoiler
Quote
When the dead gates were a given, the isolated Zeta sector started to feed in on itself. High tech, assertive AI and minimal personnel offered the volatile ingredients for a soup needed to create the Zorg. Men sought to integrate themselves into their technology, postponing their inevitable deaths through careful administration of energy and matter; leaving all bio-functions in the administrative hands of an eager and assimilative AI.

By recycling the bio-matter of men and by harvesting their high-energy output, the Zeta AI managed to maintain and reproduce mankind through in vitro technology. In order to multiply said bio production the Zeta AI began constructing a complex around the faint Zeta sun. It designated the construct Z.O.R.G, or Zeta Organic Reproductive Grid. Zorg!

The Zeta Zorg star would become the womb to the ultimate Zorg Expanse. Leading to the often produced phrase:

"We are ZORG. You will be integrated into our -COMPLEXITY-. Resistance is futile. We will add your starfaring technology to our own. Blueprints will be consumed and adapted into serviceable Zorg technology. Domain cultures will be assimilated and made to service us. Our ultimatum is your only option. All other considerations are irrelevant. You will comply with Zorg directive."
[close]
Logged

phyrex

  • Admiral
  • *****
  • Posts: 751
    • View Profile
Re: [0.6a] ZORG - V14a - (Exerelin Compatible!) - Early Campaign Mode!
« Reply #98 on: September 25, 2013, 10:09:32 AM »

i fear that the admiral AI might not know how to properly use a ship so heavily armored but underarmed
Logged

HELMUT

  • Admiral
  • *****
  • Posts: 1363
    • View Profile
Re: [0.6a] ZORG - V14a - (Exerelin Compatible!) - Early Campaign Mode!
« Reply #99 on: September 25, 2013, 01:45:30 PM »

Zorg ships aren't under-armed but they have pretty poor venting and can't fire for very long, in big engagement they tend to suffer a lot because of this.. And yes, the AI don't know how to use the ship system to show the enemy the armored side.

I played a bit with them. I have to say i won't be playing much with their ships. Once you pilot a frigate, it's as if you piloted all of their ships as they are exactly the same, just bigger or smaller. That's kinda sad because i like the idea of big laser box faction, unfortunately their is no much points trying different ships or strategies because all you can do is throwing your big boxes at the enemy, making them spin to avoid located damage, and pray for victory (didn't end up well against Kadur judgement fleet though).

I would really like at least to be able to fiddle with the weapons layout for each ship, as for now they are all built in. And maybe some different ship system.

The campaign integration is still early. For the next updates, i suggest you give them bigger fleets. Right now i find that they are not very menacing (haven't tried to fight them with small fleets though). And also make them able to wander somewhere else than just their home system.

For the last sprite, c'mon Erick... 4 ships strapped together don't make a new one, you can do better than this!
Logged

Erick Doe

  • Global Moderator
  • Admiral
  • *****
  • Posts: 2489
  • "Pretty cunning, don't you think?"
    • View Profile
Re: [0.6a] ZORG - V14a - (Exerelin Compatible!) - Early Campaign Mode!
« Reply #100 on: September 25, 2013, 02:09:16 PM »

For the last sprite, c'mon Erick... 4 ships strapped together don't make a new one, you can do better than this!

Well it does say "experimenting".  :D

I think Phyrex was refering to the Tactical Sphere when he said heavily armoured but underarmed. But essentially it should do its job as the AI tends to throw frigates and fighters at capture points. As for using the ship system to turn, yes, the AI doesn't use it as a player would, unfortunately.

Basically the main ships are bigger and stronger versions of themselves with each class. That's how I designed them. It is really just the faction's framework, as I intend on adding more specialised vessels with more unique combat roles.
« Last Edit: September 25, 2013, 02:11:04 PM by Erick Doe »
Logged

ssthehunter

  • Lieutenant
  • **
  • Posts: 53
    • View Profile
Re: [0.6a] ZORG - V14a - (Exerelin Compatible!) - Early Campaign Mode!
« Reply #101 on: September 25, 2013, 02:17:17 PM »

To be fair, he really did capture the spirit of the borg in the zorg.  Massive ships with huge amounts of armor and powerful weapons.
Great job :D
I'm going to say this though, neutrino + this= op power of doom XD.
Logged

Erick Doe

  • Global Moderator
  • Admiral
  • *****
  • Posts: 2489
  • "Pretty cunning, don't you think?"
    • View Profile
Re: [0.6a] ZORG - V14a - (Exerelin Compatible!) - Early Campaign Mode!
« Reply #102 on: September 25, 2013, 02:23:10 PM »

I'm not going to deny that there's a certain OPness to Zorg ships. This was intended. Though for all of their strengths they also have weaknesses:  :)

+Strong armour and lots of hull
-No shields
+No flux overloads
-Not much flux for special weapons
+Fast and maneuverable in battle
-Terribly slow burn speed in space
+Plenty of weapons scattered...
-...over a large and easy to hit hull
+Incredibly fast repair speed
-Incredibly fast supply consumption
+Overall plenty of cargo space on its ships
-No real dedicated freighter
+Huge and relatively powerful ships for their classes
-High cost to field individual ships
Logged

HELMUT

  • Admiral
  • *****
  • Posts: 1363
    • View Profile
Re: [0.6a] ZORG - V14a - (Exerelin Compatible!) - Early Campaign Mode!
« Reply #103 on: September 25, 2013, 02:24:11 PM »

It is really just the faction's framework, as I intend on adding more specialised vessels with more unique combat roles.

Ah! You reassure me!

About their overpoweredness... I think they are ok. Sure it is very difficult to get close to the Zorgs without getting your face melted by their beams (especially the big ones). The trickiest part is that you can't disable their weapons, so no ion weaponry.

However, they are still extremely vulnerable to missiles swarm. A dozen of pilums can pretty easily overwhelm their PD system and drill a hole in their armor. needless to say, Kadur ships are the absolute bane of the Zorg.
Logged

Erick Doe

  • Global Moderator
  • Admiral
  • *****
  • Posts: 2489
  • "Pretty cunning, don't you think?"
    • View Profile
Re: [0.6a] ZORG - V14a - (Exerelin Compatible!) - Early Campaign Mode!
« Reply #104 on: September 25, 2013, 02:26:33 PM »

It is really just the faction's framework, as I intend on adding more specialised vessels with more unique combat roles.

Ah! You reassure me!

About their overpoweredness... I think they are ok. Sure it is very difficult to get close to the Zorgs without getting your face melted by their beams (especially the big ones). The trickiest part is that you can't disable their weapons, so no ion weaponry.

However, they are still extremely vulnerable to missiles swarm. A dozen of pilums can pretty easily overwhelm their PD system and drill a hole in their armor. needless to say, Kadur ships are the absolute bane of the Zorg.

Exactly. It is up to the player to find a weakness or a way to defeat the Zorg. Just like the Federation had to develop special weaponry to deal with the Borg.  ;)
Logged
Pages: 1 ... 5 6 [7] 8 9 ... 24