Back to Index | Page generated: Dec 20, 2024, 7:22:09 AM |
from Expansion Manager's OXP list | from Expansion Manifest | |
---|---|---|
Description | Reduced a weight of roles NPC-ships from Sniper Gun OXP to 5 times lower(20% from basic), but will added ships with sniper gun from other ship OXPs. Also it's setup the lower size of sniper guns, names of ships will not contain the words 'SG'. | Reduced a weight of roles NPC-ships from Sniper Gun OXP to 5 times lower(20% from basic), but will added ships with sniper gun from other ship OXPs. Also it's setup the lower size of sniper guns, names of ships will not contain the words 'SG'. |
Identifier | oolite.oxp.Rustem.Sniper_Gun_rebalancer | oolite.oxp.Rustem.Sniper_Gun_rebalancer |
Title | Sniper Gun Rebalancer | Sniper Gun Rebalancer |
Category | Ships | Ships |
Author | Rustem&Norby | Rustem&Norby |
Version | 1.3.11 | 1.3.11 |
Tags | ||
Required Oolite Version | ||
Maximum Oolite Version | ||
Required Expansions |
|
|
Optional Expansions | ||
Conflict Expansions | ||
Information URL | http://wiki.alioth.net/index.php/Sniper_Gun | n/a |
Download URL | https://wiki.alioth.net/img_auth.php/8/86/Sniper_Gun_rebalancer.oxz | n/a |
License | CC-BY-NC-SA 4.0 | CC-BY-NC-SA 4.0 |
File Size | n/a | |
Upload date | 1610873352 |
Also read http://wiki.alioth.net/index.php/Sniper%20Gun%20Rebalancer
Sniper Gun Rebalancer By Rustem and Norby Overview ======== This OXP slightly reduced a weight of roles NPC-ships in the shipdata to 5 times lower(20% from basic), but will added ships with sniper gun from other ship's OXP as external dependency. Also it's setup the lower size of sniper guns, names of ships will not contain the words 'SG'. Very little by way of new ships has been added to the game(system tech level, government type). Required OXP's ============== The following OXP's are listed as required: - Sniper Gun (v1.3) Recommended OXP's ================= The following OXP's are listed as recommended, in that additional ships will become available if they are installed. - Separated Lasers Separated laser mounts option will be added to the Sniper Guns. - gsagostinho's Texture Packs Added a 5 ships: Asp Mark II(v1.2, 2 textures), Cobra Mark III(2 textures), Fer-de-Lance(v1.2, 1 texture). - Griff's Retextures Added a 4 ships: Cobra Mark III(v1.04, 2 textures), GalCop Viper(v1.3.1, 1 ship), GalCop Viper Interceptor(v1.0.3, 1 ship). Some additional ships with multiply laser mounts: GalCop Viper Interceptor (links with condition script). - wildShips's Shipset (v0.9.1) Added a 4 ships: Chatu, Duma(2 ships). Some additional ships with multiply laser mounts: tribal Duma, dog Duma, police Duma. Police Duma (links with condition script). - Laser Cannons (v1.12) Rebalance addition ships with laser cannons. Added a 7 ships: Asp, Boa(2 ships), Cobra Mark III(2 ships), Fer-de-Lance, Krait, Python, Python BattleCruiser, Viper. - Staer9's Shipset (v1.12) Added a 1 ship: Iguana. License ======= This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 4.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/ Discussion ========== This OXP is discussed at this forum link: http://aegidian.org/bb/viewtopic.php?f=4&t=18051 Info ==== Link: http://wiki.alioth.net/index.php/Sniper_Gun Summary Differents ================== - Reduced a weight of roles NPC-ships in the shipdata to 5 times lower(20% from basic). - Setup the lower size of sniper guns: "model_scale_factor = 0.75". - Corrected weapons position for SGs. - The names of ships will not contain the words 'SG'. - Added a snipergun-ship, snipergun-heavy-ship and interceptor-sg, interceptor-heavy-sg roles. - Added a ships with sniper gun from other ship OXPs as external dependency: * gsagostinho's Texture Packs(5 ships), * Griff's Retextures(4 ship - Cobra Mark III, Griff Viper, Griff Viper Interceptor), * Staer9's Shipset(1 ship - Iguana). * wildShips's Shipset(3 ships - Chatu, Duma(SG), Duma Fleet Hauler(HSG)). * Laser Cannons(7 ships). - Added a density for Griff's Viper Alternative Model for minimal ship mass req. - Fixed a ship mass by "model_scale_factor = 0.65" for Duma and set a "max_cargo = 125" for Duma Fleet Hauler. - Adjusted a pitch and roll for Duma Fleet Hauler due to the mass of Heavy Sniper Guns. - Simulated the EEU and NEU for police ships. - Set condition_script for some uber-ships(has 'dog' word) and police-patrol. - Updated a view positions for some ships. Version History =============== Beta releases: 1.3.0 - 1.3.10 - Reduced a weight of roles NPC-ships in the shipdata to 5 times lower(20% from basic). - Setup the lower size of sniper guns: "model_scale_factor = 0.75". - Corrected weapons position for SGs. - The names of ships will not contain the words 'SG'. - Added a snipergun-ship, snipergun-heavy-ship and interceptor-sg, interceptor-heavy-sg roles. - Added a ships with sniper gun from other ship OXPs as external dependency: * gsagostinho's Texture Packs(5 ships), * Griff's Retextures(4 ship - Cobra Mark III, Griff Viper, Griff Viper Interceptor), * Staer9's Shipset(1 ship - Iguana). * wildShips's Shipset(3 ships - Chatu, Duma(SG), Duma Fleet Hauler(HSG)). * Laser Cannons(7 ships). - Added a density for Griff's Viper Alternative Model for minimal ship mass req. - Fixed a ship mass by "model_scale_factor = 0.65" for Duma and set a "max_cargo = 125" for Duma Fleet Hauler. - Adjusted a pitch and roll for Duma Fleet Hauler due to the mass of Heavy Sniper Guns. - Simulated the EEU and NEU for police ships. - Set condition_script for some uber-ships(has 'dog' word) and police-patrol. - Updated a view positions for some ships. 1.3.11 - Initial public release. -------------------------------------------------------------------------------- Help info -------------------------------------------------------------------------------- Roles: // // POLICE & INTERCEPTOR & WINGMAN // // police : Light fighter craft without a witchdrive or particularly heavy weapons. // interceptor : A heavy fighter with a range of powerful equipment, only used in the highest TL systems. // wingman : This role is used to add escorts to other police ships. // // Creators of ships should avoid to assign both a police and interceptor role to the same ship. // It's better really not to use powerful ships as wingmen - use them as police instead. // Interceptors are generated in addition to police in high-tech systems, while wingman is used instead of escort for police ships with an escort's property. // // For oolite v1.82 - 1.86 used: // // var role = "police"; // if (9+Math.random()*6 < system.info.techlevel) // { // role = "interceptor"; // } // // var h = this._addGroup("interceptor",Math.floor(Math.random()*2)+Math.floor(Math.random()*2)+1+Math.ceil(system.info.techlevel/6),pos,2E3); // Subentities Templates: //Duma SG subentities = ( // 1 forward Sniper Gun // 1 forward Sniper Gun { subentity_key = "snipergun"; position = "0.0 -3.2 59.7"; orientation = "0 0 0 1"; }, // 1 aft Sniper Gun //{ subentity_key = "snipergun"; position = "0.0 12.5 -61.9"; orientation = "0 0 1 0"; }, // y: 180 Degrees // // templates for SG: side separated, near slots // // 1 forward Sniper Gun //{ subentity_key = "snipergun"; position = "0.0 -3.2 59.7"; orientation = "0 0 0 1"; }, // // 2 forward Sniper Guns, near slots //{ subentity_key = "snipergun-l"; position = "-25.0 3.2 46.0"; }, //{ subentity_key = "snipergun-r"; position = "25.0 3.2 46.0"; }, // // 2 forward Sniper Guns, side separated (>145m)! //{ subentity_key = "snipergun-l"; position = "-73.4 -2.9 9.8"; orientation = "-0.9239 0 0 0.3827"; }, // z: 315 Degrees //{ subentity_key = "snipergun-r"; position = "73.4 -2.9 9.8"; orientation = "0.9239 0 0 0.3827"; }, // z: 45 Degrees // // 3 forward separated Sniper Guns // // 1 aft Sniper Guns //{ subentity_key = "snipergun"; position = "0.0 12.5 -61.9"; orientation = "0 0 1 0"; }, // y: 180 Degrees // // 2 aft Sniper Guns, near slots //{ subentity_key = "snipergun-r"; position = "-25.0 6.95 -57.3"; orientation = "0 0 1 0"; }, // y: 180 Degrees //{ subentity_key = "snipergun-l"; position = "25.0 6.95 -57.3"; orientation = "0 0 1 0"; } // y: 180 Degrees // // 2 aft Sniper Guns, side separated (>145m)! //{ subentity_key = "snipergun-r"; position = "-73.4 -2.9 -28.5"; orientation = "0 0.3827 -0.9239 0"; }, // y: 180; z: 315 Degrees //{ subentity_key = "snipergun-l"; position = "73.4 -2.9 -28.5"; orientation = "0 0.3827 0.9239 0"; } // ); weapon_facings = 3; weapon_position_forward = "0.0 -3.2 93.2"; // // orig: weapon_position_aft = "0.0 12.5 -65.0"; // orig: weapon_position_forward = "0.0 0.0 65.0"; // //weapon_mount_mode = "multiply"; // // for SG z_factor:20.5, for HSG z_factor:33.5 // // SG templates: // // 1 aft Sniper Gun //weapon_position_aft = ("0.0 12.5 -88.9"); // // 2 aft Sniper Guns, near slots //weapon_position_aft = ("-25.0 6.95 -84.3", "25.0 6.95 -84.3"); // // 3 aft Sniper Guns //weapon_position_aft = ("0.0 12.5 -88.9", "-25.0 6.95 -84.3", "25.0 6.95 -84.3"); // // 3 aft separated Sniper Guns, side guns //weapon_position_aft = ("0.0 12.5 -88.9", "-73.4 -2.9 -55.5", "73.4 -2.9 -55.5"); // // 1 forward Sniper Gun //weapon_position_forward = ("0.0 -3.2 86.7"); // // 2 forward Sniper Guns, near slots //weapon_position_forward = ("-25.0 3.2 73.0", "25.0 3.2 73.0"); // // 3 forward Sniper Guns, near slots //weapon_position_forward = ("0.0 -3.2 86.7", "-25.0 3.2 73.0", "25.0 3.2 73.0"); // // 3 forward separated Sniper Guns, side guns //weapon_position_forward = ("0.0 -3.2 86.7", "-73.4 -2.9 36.8", "73.4 -2.9 36.8"); //Duma HSG subentities = ( // 1 forward Heavy Sniper Guns: // 1 fw { subentity_key = "snipergun-heavy2"; position = "0.0 -3.2 59.7"; }, // 1 aft //{ subentity_key = "snipergun-heavy2"; position = "0.0 12.5 -61.9"; orientation = "0 0 1 0"; }, // y: 180 Degrees // // templates for HSG: side separated, near slots // // 1 forward Heavy Sniper Gun //{ subentity_key = "snipergun-heavy2"; position = "0.0 -3.2 59.7"; }, // // 2 forward Heavy Sniper Guns, side separated (>145m)! //{ subentity_key = "snipergun-heavy2-l"; position = "-73.4 -1.0 9.8"; orientation = "0.9936 0 0 0.1132"; }, // z: 13 Degrees //{ subentity_key = "snipergun-heavy2-r"; position = "73.4 -1.0 9.8"; orientation = "-0.9936 0 0 0.1132"; }, // z: 347 Degrees // // 2 forward Heavy Sniper Guns, near slots: //{ subentity_key = "snipergun-heavy2-l"; position = "-25.0 3.2 46.0"; }, //{ subentity_key = "snipergun-heavy2-r"; position = "25.0 3.2 46.0"; }, // // 3 forward separated Heavy Sniper Guns //{ subentity_key = "snipergun-heavy2"; position = "0.0 -3.2 59.7"; }, //{ subentity_key = "snipergun-heavy2-l"; position = "-73.4 -1.0 9.8"; orientation = "0.9936 0 0 0.1132"; }, // z: 13 Degrees //{ subentity_key = "snipergun-heavy2-r"; position = "73.4 -1.0 9.8"; orientation = "-0.9936 0 0 0.1132"; }, // z: 347 Degrees // // 1 aft Heavy Sniper Gun //{ subentity_key = "snipergun-heavy2"; position = "0.0 12.5 -61.9"; orientation = "0 0 1 0"; }, // y: 180 Degrees // // 2 aft Heavy Sniper Guns, side separated (>145m)! //{ subentity_key = "snipergun-heavy2-r"; position = "-73.4 -1.0 -28.5"; orientation = "0 0.1132 0.9936 0"; }, // y: 180; z: 13 Degrees //{ subentity_key = "snipergun-heavy2-l"; position = "73.4 -1.0 -28.5"; orientation = "0 0.1132 -0.9936 0"; }, // // 2 aft Heavy Sniper Guns, near slots: //{ subentity_key = "snipergun-heavy2-r"; position = "-25.0 3.75 -54.4"; orientation = "0 0 1 0"; }, // y: 180 Degrees //{ subentity_key = "snipergun-heavy2-l"; position = "25.0 3.75 -54.4"; orientation = "0 0 1 0"; }, // y: 180 Degrees // // templates for SG: // // 3 forward Sniper Guns, 2 aft Sniper Guns, all separated: // fw, 1 and 2 side guns //{ subentity_key = "snipergun"; position = "0.0 -3.2 60.8"; orientation = "0 0 0 1"; }, //{ subentity_key = "snipergun-l"; position = "-73.4 -2.5 9.8"; orientation = "-0.9744 0 0 0.2250"; }, // z: 334 Degrees //{ subentity_key = "snipergun-r"; position = "73.4 -2.5 9.8"; orientation = "0.9744 0 0 0.2250"; }, // z: 26 Degrees // aft, 2 near slots //{ subentity_key = "snipergun-r"; position = "-25.0 6.75 -57.3"; orientation = "0 0 1 0"; }, // y: 180 Degrees //{ subentity_key = "snipergun-l"; position = "25.0 6.75 -57.3"; orientation = "0 0 1 0"; }, // y: 180 Degrees ); weapon_facings = 3; weapon_position_forward = "0.0 -3.2 93.2"; // // orig: weapon_position_aft = "0.0 12.5 -65.0"; // orig: weapon_position_forward = "0.0 0.0 65.0"; // //weapon_mount_mode = "multiply"; // // for SG z_factor:20.5, for HSG z_factor:33.5 // // HSG templates: // // 1 aft Heavy Sniper Gun //weapon_position_aft = ("0.0 12.5 -95.4"); // // 2 aft Heavy Sniper Guns, near slots //weapon_position_aft = ("-25.0 3.75 -54.4", "25.0 3.75 -54.4"); // //keep >100m distances in 3D to aft HSGs be separated with Separated Lasers OXP //weapon_position_aft = ("-25.0 3.75 0.9", "25.0 3.75 -87.9"); // //keep >100m distances in 3D to aft HSGs be separated with Separated Lasers OXP //weapon_position_aft = ("-25.0 6.75 -87.5", "25.0 6.75 -0.5"); // // 3 aft Heavy Sniper Guns, near slots // //keep >100m distances in 3D to aft HSGs be separated with Separated Lasers OXP //weapon_position_aft = ("0.0 12.5 -95.4", "-25.0 3.75 0.9", "25.0 3.75 -87.9"); // // 3 aft separated Heavy Sniper Guns, side guns // // 1 forward Heavy Sniper Gun // // 2 forward Heavy Sniper Guns, near slots //weapon_position_forward = ("-25.0 3.2 46.0", "25.0 3.2 46.0"); // //keep >100m distances in 3D to fw HSGs be separated with Separated Lasers OXP //weapon_position_forward = ("-25.0 3.2 79.5", "25.0 3.2 -7.5"); // // 3 forward Heavy Sniper Guns, near slots //keep >100m distances in 3D to fw HSGs be separated with Separated Lasers OXP //weapon_position_forward = ("0.0 -3.2 93.2", "-25.0 3.2 79.5", "25.0 3.2 -7.5"); // // 3 forward separated Heavy Sniper Guns //weapon_position_forward = ("0.0 -3.2 93.2", "-73.4 -1.0 10.0", "73.4 -1.0 10.0"); // // SG templates: // // 2 aft separated Sniper Guns, near slots //weapon_position_aft = ("-25.0 6.75 -77.8", "25.0 6.75 -77.8"); // // 3 forward separated Sniper Guns //weapon_position_forward = ("0.0 -3.2 80.3", "-73.4 -2.5 30.3", "73.4 -2.5 30.3"); /* ==================================== Shipdata for testing by player ==================================== */ "griff-viper-interceptor-dog-sg-player" = // for testing the npc-sg-ships { like_ship = "griff-viper-interceptor2-dog-sg"; // griff-viper-alt-sg / griff-viper-interceptor-alt-sg / griff-viper-interceptor-dog-sg energy_recharge_rate = 3.333; // for viper-interceptors roles = "player"; scan_class = "CLASS_NEUTRAL"; view_position_aft = "0.0 3.5 -53.0"; view_position_forward = "0.0 3.5 32.5"; view_position_port = "-24.0 6.0 0.0"; view_position_starboard = "24.0 6.0 0.0"; }; "wildShips_duma-sg-player" = // for testing the npc-sg-ships { like_ship = "wildShips_policeDuma-sg"; // wildShips_duma : 1 fw SG and 1 aft Beam // wildShips_tribalDuma : 3 fw SGs and 2 aft SGs, fw separated! // wildShips_policeDuma : 3 fw and 3 aft SGs, all separated! condition_script = null; energy_recharge_rate = 4; roles = "player"; scan_class = "CLASS_NEUTRAL"; view_position_aft = "0.0 22.4 -58.0"; view_position_forward = "0.0 12.5 51.0"; view_position_port = "-53.4 12.0 9.0"; view_position_starboard = "53.4 12.0 9.0"; }; "wildShips_duma-dog-sg-player" = // for testing the npc-sg-ships { like_ship = "wildShips_policeDuma-dog-sg"; // wildShips_dumaFleet-dog : 1 fw and 1 aft HSGs // wildShips_blackdogDuma : 1 fw and 1 aft HSGs // wildShips_blackdogDuma3 : 3 fw and 1 aft HSGs, all separated! // wildShips_policeDuma-dog : 3 fw and 3 aft HSGs, all separated! condition_script = null; energy_recharge_rate = 4; roles = "player"; scan_class = "CLASS_NEUTRAL"; view_position_aft = "0.0 22.4 -58.0"; view_position_forward = "0.0 12.5 51.0"; view_position_port = "-53.4 12.0 9.0"; view_position_starboard = "53.4 12.0 9.0"; };
Path | |
---|---|
Scripts/spawn_police_shipset.js | "use strict"; this.name = "spawnPolicePatrol"; // in-system, milkrun and interstellar patrols this.author = "rustem"; this.copyright = "2018 Creative Commons: attribution, non-commercial, sharealike."; // CC BY-NC-SA 4.0 this.description = "Conditional spawning of interceptors with sniper guns(interceptor-sg) from Rich(Corp & Democracy) systems"; this.version = "0.3"; // This is modification of spara's rh-boss-spawn-shipset script // this._shipSpawnOverride = false; this.logging = false; // false/true this.allowSpawnShip = function(shipKey) { // Sanity check if (!system.sun || system.sun.isGoingNova || system.sun.hasGoneNova) { if (!system.isInterstellarSpace) return false; } var adjacent, homeSystem; // var shipKey = dataKey; // An corp system (G1..8), that's where the interceptor-sg get support. // Total systems : 32 (Corporate State - 0, Democracy - 64 in Galaxy 4, ) // economy: 0 (Rich Industrial) ... 7 (Poor Agricultural) // // stats: // Rich Ind in the Charts(sectors): Totals(Corporate State + Democracy): [30(7), 26(10), 30(10), 24(8), 25(8), 25(8), 38(22), 20(8)] // Technology Level( > 9): Totals(Corporate State + Democracy): [81(31), 73(35), 65(29), 63(29), 84(38), 83(27), 81(43), 73(31)] // // replaced police to interceptor: if (9+Math.random()*6 < system.info.techlevel). / may be recalc the stats data for TL > 8 above? //if (system.government === 0) if (system.economy === 0 && system.government > 5) { // Rich Industrial //system.economy === 0 && system.government === 7 if (this.logging) { homeSystem = system; player.consoleMessage("Spawning in Rich system: " + shipKey, 8); log("sniperguns_shipset_pack", "Spawning in Rich system: " + shipKey + " from this system"); } return true; } // Ok, not an corp system, but maybe there is such a system close by. var adjacentSystems = system.info.systemsInRange(7); var safeHood = false; for (var i = 0; i < adjacentSystems.length; i++) { adjacent = System.infoForSystem(adjacentSystems[i].galaxyID, adjacentSystems[i].systemID); if (adjacent.economy === 0 && adjacent.government > 5) { // Rich Industrial(safeHood) = Rich Corporate + Democracy //adjacent.economy === 0 && adjacent.government === 7 safeHood = true; homeSystem = adjacent; //log("sniperguns_shipset_pack", "Found nearby Rich homeSystem"); break; } } // This is safe hood, there is an corp system next door. if (safeHood) { // 1 rule: addition in the interstellar space ~ (interstellar patrol) if (system.isInterstellarSpace) { if (this.logging) { player.consoleMessage("Spawning in the interstellar space: " + shipKey, 8); log("sniperguns_shipset_pack", "Spawning in the interstellar space."); } return true; // 2 rule: addition in the milkrun ~ (milkrun patrol) } else if (5+Math.random()*2 < system.economy) { // system.economy > 5 // stats: [100,75] if (this.logging) { player.consoleMessage("Spawning in the milkrun: " + shipKey, 8); log("sniperguns_shipset_pack", "Spawning in the milkrun."); } return true; // 3 rule: Sometimes interceptor-sg visit nearby systems. Lower the government, rarer the incident (Rich zone). // v1 - test string: //} else if (Math.random()*system.government/3 > 1) { // Corporate - Feudal ~ [85,85,78,45,,,,] //} else if (Math.random()*(system.government - 3)/4 > Math.random()) { // Corporate - Communist ~ [75,,44,25] // 64 } else if (3+Math.random()*4 < system.government) { // Corporate - Communist ~ [100,95,90,45] //} else if (3+Math.random()*5 < system.government) { // Corporate - Communist ~ [95,,,35] //} else if (3+Math.random()*3 < system.government) { // Corporate - Communist ~ [100,100,90,50] // v2 - added a high tech zone: //} else if (3 + Math.random() * 3 < system.government || 9 + Math.random() * 6 < system.info.techlevel) { // Corporate - Communist ~ TL(15)[100,100,100?,100?,,,],TL(14)[100,100,99?,50?,,,,],TL(13)[100,100,98,50?,,,],TL(12)[100,100,90,50,,,,],TL(11)[100,100,,,50,,,],TL(10)[100,100,,,,28,,] + TL(9)[100,100,90,50,0,0,0,0] + ... + TL(x)[...] + ... + TL(0)[100,100,90,50,0,0,0,0]. // Rich Corporate & (Democracy || Corporate) = 100% prob-ty (link, avail-le). // Rich Democracy & (Corporate || Democracy) = 100% prob-ty. // Rich safeHood & (Confederacy || Communist) = var prob-ty from TL if (this.logging) { player.consoleMessage("Spawning in Rich zone: " + shipKey, 8); log("sniperguns_shipset_pack", "Spawning in Rich zone: " + shipKey + " from " + homeSystem.systemID); // and high tech } return true; } } return false; } |