Author Topic: Pile of Requests  (Read 9016 times)

0 Members and 1 Guest are viewing this topic.

Offline Angelus

  • 210
  • The Angriest Angel
i think its better that a feature get discussed first. people may come up with a better implementation that you didnt think of. you can also see how popular the idea is with modders who may actually use it.


It seems the requests i posted are not un-popular :D


I have two more requests which i forgot to post in the original post, and if a couple more people comment/ suggest/ request something i'll update my first post with all the stuff mentioned by others, at least that stuff that doesn't get rejected immediatly.


Here we go:

The ability for a ship ( fightersized ) to dock with a other ship ( capital class ) that's in motion ( following waypoints, attacks, whatever ).
That doesn't seem possible atm, cause the docking ship "hovers" over the docking point over the other ship, until the ship stops.

--------------------------------------------------------------------------------------------------------------


The ability to chain multiple campaigns together + Multi-campaign-persistent-variables ( probably with changes to player-persistent variables? ).

Let me explain what i mean:

Say, you have three ( five, ten, ...) parts of a campaign ( or campaigns - like Vidmasters Fortune Hunters trilogy and similar ) in which the player has limited resources and/ or the players performance decides which mission he's going to play next. If by the end of first part the player assets are reduced by 1/3rd, the numbers of ships/ weapons/ missions available could be stored in a Multi-campaign-persistent-variable and with the beginning of the second part he would start where he left.
This is pretty much the same like it's handled currently within a campaign, what i request is to extend that to multiple campaigns.

My First Cylon War campaign would benefit from it, since i'm going to use episodic style releases for it.
« Last Edit: February 19, 2010, 04:38:13 pm by Angelus »

  

Offline The E

  • He's Ebeneezer Goode
  • Moderator
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Well, here's where it gets difficult. How would you make sure that your multi-campaign-persistant variable does not break other campaigns?

I'd recommend to use scripting to save the end-campaign state of one campaign and load that state at the beginning of the other.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline Angelus

  • 210
  • The Angriest Angel
Well, here's where it gets difficult. How would you make sure that your multi-campaign-persistant variable does not break other campaigns?


I'm not a coder, so i request an explantion on that one. :)

Why would the addition of a new variable type break other campaigns? Hm, if the player persistant Variable gets changed to a point where it works differently then before, maybe.



« Last Edit: February 19, 2010, 05:08:48 pm by Angelus »

 

Offline The E

  • He's Ebeneezer Goode
  • Moderator
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
My initial thinking about this went into the direction of "What if two separate campaigns use the same variable names?". That was silly, and should be disregarded.

However, I wouldn't trust pilot files (and that is where data like this would have to be stored) with anything, especially not data I want exchanged between several campaigns.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
i think its better that a feature get discussed first. people may come up with a better implementation that you didnt think of. you can also see how popular the idea is with modders who may actually use it.

Agreed. Just be careful cause when you do come up with a reasonable suggestion for a feature you'll dog-piled by people with impractical or just plain idiotic ideas you should also implement. :p

The ability to chain multiple campaigns together + Multi-campaign-persistent-variables ( probably with changes to player-persistent variables? ).

For those of you with internal access, the coders had a long discussion about how this would work some time ago.
« Last Edit: February 19, 2010, 07:50:43 pm by karajorma »
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline Aardwolf

  • 211
  • Posts: 16,384
Wouldn't it be better to make a mission selection screen, as some modification of the campaign format / clever use of the campaign editor (maybe with a couple of sexps to help) ?

 

Offline The E

  • He's Ebeneezer Goode
  • Moderator
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
I think it would be feasible to just override the campaign file with a new one, using separate mods.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
As I pointed out to Taylor on the internal the main use of these SEXPs would probably not be to pass information between campaigns but instead to pass information from the missions of the first campaign back into it upon restart (thereby allowing the same campaign to play differently upon replay).
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline Aardwolf

  • 211
  • Posts: 16,384
That just suggests to me the idea of adding an alternate campaign format/system, or overhauling the existing one / hacking the support into it.

SoL would probably like something like this, though!

 

Offline TrashMan

  • T-tower Avenger. srsly.
  • 213
  • God-Emperor of your kind!
    • FLAMES OF WAR
Can ships go in reverse using regular thrust (searched abit for it, but haven't found anything on that subjects... reverse AB's should work, but they don't for me. The ships just afterburns in place.)

More shield options - for instance:
Shield_down_time: X     - if shields (or a quadrant) are dropped, they stay down for X seconds, before coming back on-line.

Down_time_charge:    yes       - the shields gather strength while they are down, and come back up with appropriate strength (if they are down 10 seconds, and would normally recover 100 shield points in 10 seconds, they come back with 100 shield points). If no, the shields come back on-line at 1 and start regenerating.

Alternatively, NO could be default behavior and Down_time_charge could be used to override that and set strength (percentage) with which they come back on-line instead.

Nobody dies as a virgin - the life ****s us all!

You're a wrongularity from which no right can escape!

 

Offline Zacam

  • Magnificent Bastard
  • Administrator
  • 211
  • I go Sledge-O-Matic on Spammers
    • Steam
    • Twitter
    • ModDB Feature
If all you are sticking in to a TBM is
Code: [Select]
$Name: GTF Ulysses
+nocreate
$Afterburner: YES
+Aburn Max Reverse Vel: 40.0
+Aburn Rev accel: 2.0

Then yeah, you are going to just AB in place if you attempt to reverse AB. I should modify the wiki to state that TRADITIONAL (non-afterburner) $Rear Velocity: needs to be set as well.

Code: [Select]
$Name: GTF Ulysses
+nocreate
$Rear Velocity: 20.0
$Afterburner: YES
+Aburn Max Reverse Vel: 40.0
+Aburn Rev accel: 2.0

works.
Report MediaVP issues, now on the MediaVP Mantis! Read all about it Here!
Talk with the community on Discord
"If you can keep a level head in all this confusion, you just don't understand the situation"

¤[D+¬>

[08/01 16:53:11] <sigtau> EveningTea: I have decided that I am a 32-bit registerkin.  Pronouns are eax, ebx, ecx, edx.
[08/01 16:53:31] <EveningTea> dhauidahh
[08/01 16:53:32] <EveningTea> sak
[08/01 16:53:40] * EveningTea froths at the mouth
[08/01 16:53:40] <sigtau> i broke him, boys

 

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
More shield options - for instance:
Shield_down_time: X     - if shields (or a quadrant) are dropped, they stay down for X seconds, before coming back on-line.

Down_time_charge:    yes       - the shields gather strength while they are down, and come back up with appropriate strength (if they are down 10 seconds, and would normally recover 100 shield points in 10 seconds, they come back with 100 shield points). If no, the shields come back on-line at 1 and start regenerating.

Alternatively, NO could be default behavior and Down_time_charge could be used to override that and set strength (percentage) with which they come back on-line instead.



i kinda like this
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN

 

Offline Angelus

  • 210
  • The Angriest Angel
:bump:


Another request.

I need to send blank messages, with no source for the message, but the Headani has to show up.
It is possible to use a special character ( that wont show up like #), but the colon does, which looks kinda funny.
The_E told me on IRC that this would require a rather small code change.

Let me quote him from the chat:

Quote
a new special message source, "<none>", that, when chosen as sender, alters the behaviour ( the colon is not shown )

thx

 

Offline The E

  • He's Ebeneezer Goode
  • Moderator
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Patch file:
Code: [Select]
Index: fred2/sexp_tree.cpp
===================================================================
--- fred2/sexp_tree.cpp (revision 6048)
+++ fred2/sexp_tree.cpp (working copy)
@@ -5171,6 +5171,7 @@
  //head.add_data("<any allied>");
  head.add_data("#Command");
  head.add_data("<any wingman>");
+ head.add_data("<none>");
 
  ptr = GET_FIRST(&obj_used_list);
  while (ptr != END_OF_LIST(&obj_used_list)) {
Index: mission/missionmessage.cpp
===================================================================
--- mission/missionmessage.cpp (revision 6048)
+++ mission/missionmessage.cpp (working copy)
@@ -1399,7 +1399,9 @@
  }
  }
 
- HUD_sourced_printf( q->source, NOX("%s: %s"), who_from, buf );
+ if ( !stricmp(who_from, "<none>") ) {
+ HUD_sourced_printf( q->source, NOX("%s"), buf );
+ } else HUD_sourced_printf( q->source, NOX("%s: %s"), who_from, buf );
 
  if ( Message_shipnum >= 0 ) {
  hud_target_last_transmit_add(Message_shipnum);
@@ -1683,6 +1685,8 @@
 
  // be sure that this ship can actually send a message!!! (i.e. not-not-flyable -- get it!)
  Assert( !(Ship_info[shipp->ship_info_index].flags & SIF_NOT_FLYABLE) ); // get allender or alan
+ } else if ( m_source == MESSAGE_SOURCE_NONE ) {
+ who_from = "<none>";
  }
 
  // not multiplayer or this message is for me, then queue it
Index: mission/missionmessage.h
===================================================================
--- mission/missionmessage.h (revision 6048)
+++ mission/missionmessage.h (working copy)
@@ -47,6 +47,7 @@
 #define MESSAGE_SOURCE_WINGMAN 2
 #define MESSAGE_SOURCE_COMMAND 3
 #define MESSAGE_SOURCE_SPECIAL 4
+#define MESSAGE_SOURCE_NONE 5
 
 // define used for sender of a message when you want it to be Terran Command
 #define DEFAULT_COMMAND "Command"
Index: parse/sexp.cpp
===================================================================
--- parse/sexp.cpp (revision 6048)
+++ parse/sexp.cpp (working copy)
@@ -2354,10 +2354,11 @@
  //if ( !stricmp(CTEXT(node), "<any allied>") )
  // return SEXP_CHECK_INVALID_MSG_SOURCE;
 
- if ( stricmp(CTEXT(node), "<any wingman>"))  // not a special token?
- if ((ship_name_lookup(CTEXT(node)) < 0) && (wing_name_lookup(CTEXT(node), 1) < 0))  // is it in the mission?
- if (Fred_running || !mission_parse_get_arrival_ship(CTEXT(node)))
- return SEXP_CHECK_INVALID_MSG_SOURCE;
+ if ( stricmp(CTEXT(node), "<any wingman>")) 
+ if ( stricmp(CTEXT(node), "<none>") ) // not a special token?
+ if ((ship_name_lookup(CTEXT(node)) < 0) && (wing_name_lookup(CTEXT(node), 1) < 0))  // is it in the mission?
+ if (Fred_running || !mission_parse_get_arrival_ship(CTEXT(node)))
+ return SEXP_CHECK_INVALID_MSG_SOURCE;
  }
 
  break;
@@ -8890,6 +8891,8 @@
 
  } else if ( !stricmp(who_from, "<any wingman>") || (wing_name_lookup(who_from) != -1) ) {
  source = MESSAGE_SOURCE_WINGMAN;
+ } else if ( !stricmp(who_from, "<none>") ) {
+ source = MESSAGE_SOURCE_NONE;
  } else {
  // Message from a apecific ship
  source = MESSAGE_SOURCE_SHIP;

Test builds:

http://www.mediafire.com/?4tm1mmn2ymj
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline The E

  • He's Ebeneezer Goode
  • Moderator
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
“reverse”:                             ship flag and SEXP
           Cap-ship only; allows cap-ships to fly reverse when the SEXP is called

$Glide-when-disabled:               YES/ NO                  ship entry
           Fighter sized and cap-ships
          If set, would force the disabled ( engines wise ) cap-ship to maintain last heading
          ( adding a slight rotation x,y,z would be a nice touch )

See force-glide sexp.

Quote
$Free-flight-speed:            value                                         weapon entry
              Sets the speed of a missile in Free-flight-mode ( value = percentage of default speed )    
             To be used in conjunction with the $Free-flight-time: entry

Implemented in FSO revision 6694


Quote
$Max-Flak-Friendly-fire-own-damage:          YES/ NO        AI profiles entry
            Probably usefull for Diaspora
           If NO, prevents that damage from the own flak turrets is applied to the ship that fired
            The flak weapon   ( not the damage that the player receives from flying into a friendly flak
             Screen or other friendly craft nearby )

$Max-Flak-friendly-fire-damage:           value-percent     AI profiles entry
             Scales the amount of damage the player receives from friendly flak

Use armor.tbl for great success.

Quote
-------------------------------------------------------------------------------------------------------------------------------
Now that the AI is able to use Glide, Strafe and Circle, I’d like to request  SEXPs that forces the AI
To perform those maneuvers whenever the SEXPs are called.
From the three mentioned, Glide is ( for me at least ) the most important one.




during the chat in the irc scp chat already rejected.
-------------------------------------------------------------------------------------------------------------------------------

Use force-glide. That won't make the AI do a specific maneuver, but will force it into glide mode.


Quote
Additional Animation triggers:
When Keypressed : ( to open or close flaps on wings or similar stuff, could be used to open and close the s-foils on models like the X-Wing )
When overclocked:  ( <--engines, when a certain overclocking setting is set by the player the animation triggers – could be used to open and close additional vents on fighter engines )

Unnecessary. Can be implemented using existing functionality in the scripting API.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline Angelus

  • 210
  • The Angriest Angel
Quote
$Free-flight-speed:            value                                         weapon entry
              Sets the speed of a missile in Free-flight-mode ( value = percentage of default speed )    
             To be used in conjunction with the $Free-flight-time: entry

Implemented in FSO revision 6694

thx, much appreciated. Waiting for the next Nightly.  :)

 

Offline Angelus

  • 210
  • The Angriest Angel
 :bump:


The $Free Flight Speed: works only on HEAT seekers. Please add this for Aspect seekers/ Javelins too.

Thx