NPC ships overheating and heat shielding
Moderators: winston, another_commander
-
- Above Average
- Posts: 30
- Joined: Thu Jun 28, 2007 2:19 pm
NPC ships overheating and heat shielding
After installing sunskimmers, I often end up in dogfights close to the star. Quite a few of these end with the NPC spontaneously exploding, which I guess is caused by the ships overheating.
It would be nice to have these ships having some kind of response to getting to high temperatures (a kind of "run away from the sun" similar to the "run away from the enemy ship" response to low shields).
Plus I do wonder if these ships have heat shielding. What kind of nutter goes anywhere near the star without heat shielding? Is there some way to modify sunskimmers to ensure the ships generated on the witchpoint-sun route have heat shields?
It would be nice to have these ships having some kind of response to getting to high temperatures (a kind of "run away from the sun" similar to the "run away from the enemy ship" response to low shields).
Plus I do wonder if these ships have heat shielding. What kind of nutter goes anywhere near the star without heat shielding? Is there some way to modify sunskimmers to ensure the ships generated on the witchpoint-sun route have heat shields?
- Commander McLane
- ---- E L I T E ----
- Posts: 9520
- Joined: Thu Dec 14, 2006 9:08 am
- Location: a Hacker Outpost in a moderately remote area
- Contact:
Sunskimmers is using ordinary, unmodified Oolite ships. There is not even a shipdata.plist in the OXP. So there is nothing to modify.
Some pilots probably are just stupid. (In general I'd say that sunskimming is stupid unless there is a very good reason for it (no main station, trumbles...). The fuel costs are negligible, so economically there is no need for sunskimming IMHO.)
Some pilots probably are just stupid. (In general I'd say that sunskimming is stupid unless there is a very good reason for it (no main station, trumbles...). The fuel costs are negligible, so economically there is no need for sunskimming IMHO.)
-
- Competent
- Posts: 45
- Joined: Sat Mar 24, 2007 7:51 pm
- Captain Hesperus
- Grand High Clock-Tower Poobah
- Posts: 2310
- Joined: Tue Sep 19, 2006 1:10 pm
- Location: Anywhere I can sell Trumbles.....
I'm reasonably sure it's possible. After all, the infamous Dr. Nil did something similar to his SLAPUs and CZGFs to prevent them going ka-boom if they are too close to a sun.United Blobs wrote:Couldn't you modify the default shipdata.plist (\Oolite\oolite.app\Resources\Config) to give the ships heat shields?
Captain Hesperus
The truth, revealed!!
- LittleBear
- ---- E L I T E ----
- Posts: 2882
- Joined: Tue Apr 04, 2006 7:02 pm
- Location: On a survey mission for GalCop. Ship: Cobra Corvette: Hidden Dragon Rated: Deadly.
That'd work if you added to each native ship:-
Not totally sure though if heat_shield is the right "tag" for this equipment, but in principle it should work. This would only give the native ships heat shields though. You'd have to add it to each OXP ship (which would be a pain!). The heat shield is quite a new piece of kit, so a lot of OXP ships don't have it included. It makes no odds to the ships (unless it happens to be near the sun). The Doc's sunskimmers just adds ships with a role "pirate", trader, police etc. So a Viper called by sunskimmers would have the heatshield, but a Condor woudn't unless you also added it to the Condor's shipentry.[/code]
Code: Select all
<key>has_heat_shield</key>
<true/>
OXPS : The Assassins Guild, Asteroid Storm, The Bank of the Black Monks, Random Hits, The Galactic Almanac, Renegade Pirates can be downloaded from the Elite Wiki here.
- Commander McLane
- ---- E L I T E ----
- Posts: 9520
- Joined: Thu Dec 14, 2006 9:08 am
- Location: a Hacker Outpost in a moderately remote area
- Contact:
These are a couple of reasons not to do it just so.
Any change that fiddles with the files included in Oolite.app (or .exe, for that matter) are not advisable for the general public, unless there is a general agreement among at least the coders, to change something for the next release. (E.g. there seemed to be something in the direction of an agreement as to make standard the external views of externalviews.oxp by integrating them into the original shipdata.)
If there is an agreement to let all ships of the basic set have let's say a chance of having a heat-shield, I am not against it.
Still OXP-ships would have that chance only if their individual creator has given it to them.
Any change that fiddles with the files included in Oolite.app (or .exe, for that matter) are not advisable for the general public, unless there is a general agreement among at least the coders, to change something for the next release. (E.g. there seemed to be something in the direction of an agreement as to make standard the external views of externalviews.oxp by integrating them into the original shipdata.)
If there is an agreement to let all ships of the basic set have let's say a chance of having a heat-shield, I am not against it.
Code: Select all
<key>has_heat_shield</key>
<real>0.7835951037</real>
-
- Above Average
- Posts: 30
- Joined: Thu Jun 28, 2007 2:19 pm
- Commander McLane
- ---- E L I T E ----
- Posts: 9520
- Joined: Thu Dec 14, 2006 9:08 am
- Location: a Hacker Outpost in a moderately remote area
- Contact:
Yes, they can and that's of course a possible solution. You can ask Dr. Nil to update (actually re-program, because that would make it many times bigger) his OXP. Or do a sunskimmers v1.0 yourself. The Dr. gave it version number 0.1, so it's clear he didn't consider it "ready" himself. But he is the only one who knows if he already has done some overhauling on it.
- JensAyton
- Grand Admiral Emeritus
- Posts: 6657
- Joined: Sat Apr 02, 2005 2:43 pm
- Location: Sweden
- Contact:
This is where like_ship comes in handy. :-)chaos syndrome wrote:I guess what might work would be to give the sunskimmers a custom role and a whole new set of ships which have heat shielding by default, which would basically mean creating a new copy of shipdata.plist.
Non-player ships can’t have heat shielding as an equipment item. However, they can have a heat_insulation setting; the default is 1.0, heat shielding for the player raises it to 2.0. The downside to this is that it can’t be set as a fuzzy boolean (probability) as McLane suggested.
E-mail: [email protected]
- Commander McLane
- ---- E L I T E ----
- Posts: 9520
- Joined: Thu Dec 14, 2006 9:08 am
- Location: a Hacker Outpost in a moderately remote area
- Contact:
The first time I hear about it. But it's nice. And AFAIK not documented in the shipdata document of the wiki. As are some other settings you just mentioned somewhere.Ahruman wrote:However, they can have a heat_insulation setting; the default is 1.0, heat shielding for the player raises it to 2.0.
Therefore a request: Could yo bring the shipdata document up to date, including all methods and settings unknown to us ordinary people?
- JensAyton
- Grand Admiral Emeritus
- Posts: 6657
- Joined: Sat Apr 02, 2005 2:43 pm
- Location: Sweden
- Contact:
I almost went and did it, but then I remembered the Golden Rule of Project Management: if at all possible, get someone else to do it. Some people might use euphemisms like “delegation”, but I’m not going to insult your intelligence. I may well have missed some. Don’t hesitate to ask pertinent questions.
The first column contains keys, the second contains types, the thord contains defaults if not 0/false/empty.
Types: i = integer (whole number), f = floating-point (decimal points meaningful), + = nonnegative (0 or greater) b = boolean, z = fuzzy boolean (boolean or probability as number between 0 and 1)
Settings used in ship loading:
Settings used at other times:
Settings specific to player:
Settings specific to stations/dockable ships:
Notes:
The first column contains keys, the second contains types, the thord contains defaults if not 0/false/empty.
Types: i = integer (whole number), f = floating-point (decimal points meaningful), + = nonnegative (0 or greater) b = boolean, z = fuzzy boolean (boolean or probability as number between 0 and 1)
Settings used in ship loading:
Code: Select all
like_ship ship key
max_flight_speed +f
max_flight_roll +f
max_flight_pitch +f
max_flight_yaw +f =max_flight_pitch
thrust +f
accuracy f (previously i)
max_energy +f
energy_recharge_rate +f
forward_weapon_type weapon type WEAPON_NONE
aft_weapon_type weapon type WEAPON_NONE
weapon_energy +f
scanner_range +f (metres) 25600
missiles +i
has_ecm z
has_scoop z
has_escape_pod +i
has_energy_bomb z
has_fuel_injection z
has_cloaking_device z
has_military_jammer z
has_military_scanner_filter z
fragment_chance z 0.9
has_shield_booster z
has_shield_enhancer z
fuel +i
bounty +i
ai_type AI name nullAI.plist
max_cargo +i
likely_cargo +i
extra_cargo +i 15
cargo_carried commodity name
cargo_type cargo type CARGO_NOT_CARGO
model model name
materials material dictionary
shaders material dictionary
smooth b
density +f 1
name string
roles role list
exhaust exhaust array
is_hulk b
subentities subentity list
frangible b yes
laser_color colour specifier redColor
scanClass scan class CLASS_NOT_SET
launch_actions plist script actions
script_actions plist script actions
death_actions plist script actions
setup_actions plist script actions
escorts +i
beacon string
rotational_velocity quaternion
track_contacts b
weapon_position_forward vector auto from bounding box
weapon_position_aft vector auto from bounding box
weapon_position_port vector auto from bounding box
weapon_position_starboard vector auto from bounding box
scoop_position vector
heat_insulation +f 1
pilot character key
unpiloted z
Code: Select all
escort-role ship role
escort-ship ship key
cargo_carried cargo type string
missile_launch_position vector
missile_role ship role 90% chance "EQ_MISSILE", otherwise "missile"
escape_pod_model ship role escape-capsule
aft_eject_position vector auto from bounding box
auto_ai b
Code: Select all
extra_equipment dictionary
hud hud name
view_position_forward vector auto from bounding box
view_position_aft vector auto from bounding box
view_position_port vector auto from bounding box
view_position_starboard vector auto from bounding box
custom_views array
Code: Select all
rotating b
defense_ship ship key
defense_ship_role ship role
hasShipyard b or plist script condition
- accuracy: aiming accuracy modifier. For missiles, it must be in the range [-5..10] and is added to 85 to generate an aiming precision rating on a 0-100 scale (not really a percentage of anything); if not specified, a random value will be used. For ships, it is used to determine firing range; essentially a modifier to a random roll used to decide whether to shoot, with a default of 1, and higher values increasing the chance of long-range shots. The maximum range of the selected weapon type will never be exceeded.
- script_actions: “used by cargo-containers with CARGO_SCRIPT_ACTION when you scoop them, used by Stations when you dock with them, used during custom system set up too.”
- setup_actions: this is run very early in set-up -- specifically, before the stuff that’s listed after it above is even loaded.
- track_contacts: this
appears to be experimental stuff by Giles, possibly part of Remora Torpedo support or another of his mysterious scribbled notes. Itcauses a number of additional AI messages to be sent regarding nearby objects, specifically "CLOSE CONTACT", "POSITIVE X TRAVERSE", "NEGATIVE X TRAVERSE", "POSITIVE Y TRAVERSE", "NEGATIVE Y TRAVERSE", "POSITIVE Z TRAVERSE" and "NEGATIVE Z TRAVERSE".Unless someone finds something useful to do with these, I’ll probably remove/disable this in the stable release. - auto_ai: it is by now well-established that I’m utterly incapable of explaining the point of this, but it was added to address the problem discussed here. Generally speaking, if a ship uses more than one of the generic roles, and does not use a custom AI, it should probably have auto_ai set. The most common generic roles are: trader, pirate, hunter. See also: autoAImap.plist.
- has_escape_pod: looks like a flag, but is actually a count.
- escape_pod_model: role (not model) for first/main escape pod. Additional escape pods always use role “escape-capsule”.
- ship key: string identifying a ship (key in shipdata.plist, not a role).
- weapon type: any of WEAPON_NONE, WEAPON_PLASMA_CANNON, WEAPON_PULSE_LASER, WEAPON_BEAM_LASER, WEAPON_MINING_LASER, WEAPON_MILITARY_LASER, WEAPON_THARGOID_LASER
- cargo type: any of CARGO_NOT_CARGO, CARGO_SLAVES, CARGO_ALLOY, CARGO_MINERALS, CARGO_THARGOID, CARGO_RANDOM, CARGO_SCRIPTED_ITEM, CARGO_CHARACTER
- material dictionary: documented here.
- colour specifier: documented here.
- scan class: any of CLASS_NOT_SET, CLASS_BUOY, CLASS_CARGO, CLASS_MILITARY, CLASS_MISSILE, CLASS_POLICE, CLASS_ROCK, CLASS_STATION, CLASS_THARGOID. There are a few others, but using them is probably a bad idea.
Last edited by JensAyton on Mon Jul 23, 2007 8:51 pm, edited 2 times in total.
E-mail: [email protected]
- Commander McLane
- ---- E L I T E ----
- Posts: 9520
- Joined: Thu Dec 14, 2006 9:08 am
- Location: a Hacker Outpost in a moderately remote area
- Contact:
Thanks for your work so far!
Murgh has used it (and marked it as experimental) in tugs.oxp. The curses the tuggers throw at you when you're coming too close are triggered by the "CLOSE CONTACT"-message.
Please don't remove it, as there has already been found something useful to do with it:Ahruman wrote:track_contacts: this appears to be experimental stuff by Giles, possibly part of Remora Torpedo support or another of his mysterious scribbled notes. It causes a number of additional AI messages to be sent regarding nearby objects, specifically "CLOSE CONTACT", "POSITIVE X TRAVERSE", "NEGATIVE X TRAVERSE", "POSITIVE Y TRAVERSE", "NEGATIVE Y TRAVERSE", "POSITIVE Z TRAVERSE" and "NEGATIVE Z TRAVERSE". Unless someone finds something useful to do with these, I’ll probably remove/disable this in the stable release.
Murgh has used it (and marked it as experimental) in tugs.oxp. The curses the tuggers throw at you when you're coming too close are triggered by the "CLOSE CONTACT"-message.
- JensAyton
- Grand Admiral Emeritus
- Posts: 6657
- Joined: Sat Apr 02, 2005 2:43 pm
- Location: Sweden
- Contact:
Hey, McLane, I notice you haven’t used the spiffy info you requested to update and clean up the wiki. ;-)
E-mail: [email protected]