December 21, 2024, 18:23:56

Author Topic: Default ship models?  (Read 27047 times)

Offline The Old Dragon

  • Ensign
  • ***
  • Posts: 362
  • Karma: 6
    • View Profile
    • http://
(No subject)
« Reply #25 on: October 20, 2009, 23:55:40 »
Probably take a little experimenting to get it right, but in theory, you should be able to script an event that will...

1) Remove the marines from their host ship (DeleteDevice).
2) Play the 'transmission' animation (Transmission).
3) Add a marine unit to the target ship (InstallDevice).

As I say, in theory you could do it in three steps. Now in a movie sequence, it shouldn't prove too difficult (fingers crossed). However, during gameplay it could well prove more troublesome.
Better to look the fool by asking, then prove them right with ignorance.

Offline Keldane

  • Specialist
  • *
  • Posts: 73
  • Karma: 0
    • View Profile
    • http://
(No subject)
« Reply #26 on: October 21, 2009, 00:50:21 »
Hmm... That would work for transferring commandos to a friendly unit, and would it work for beaming them to an enemy ship?

Also, your mention of Cinematic vs. Actual Gameplay reminded me of an old question I thought I asked, but apparently did not - does anyone know how to set it up so that commandos have the ability to commandeer any enemy ship, say as a secondary attack?

Offline Mularac

  • Lieutenant
  • ***
  • Posts: 531
  • Karma: 11
    • View Profile
(No subject)
« Reply #27 on: October 21, 2009, 10:54:09 »
'bout the first one: we've been working on something  similar, but I think that either never worked out or we just dropped it :P no idea, but I guess it could be done...
the second one: yes, it can be done.
first of all, you have to select the command:

Code: [Select]
Commando:=GetFreeSel();
SelectDevice(Commando, m.OwnerShip, InSet(the set of the command));
Com1:=Pick(Commando);
well... I don't know, but it's either that or this (more probably this):
Code: [Select]
Commando:=GetFreeSel();
SelectBoats(Commando,S.class=#the shipclass of the commnado ferry);
Com1:=Pick(Commando);

 
then, set a "Breached" rule:

Quote
>   Breached
An enemy boat has breached into the ship (commando). E.location: the ship, E.ship: the boat
Like this:
Code: [Select]
Rule event Breached
E.location=M.BreachedShip&E.ship=Com1 //the one we have given earlier
:action
//and here we add the line in question
M.BreachedShip:Race:=#race_player;
(...)
:end
END
of course, this will only worked for an scripted event in particular (in theory, I would have to test this...), not as part of an ai machine, in order to do that you'll have to write a few more lines of coding, and start a whole process of debugging and all that I frankly don't feel like doing at 5:54 in the morning :P

Offline Keldane

  • Specialist
  • *
  • Posts: 73
  • Karma: 0
    • View Profile
    • http://
(No subject)
« Reply #28 on: October 22, 2009, 08:12:46 »
No worries, thanks for the detailed reply.

Hmm... What about creating a device, in an extra slot on each ship (so that it's in the dead center of the ship, and can't be fired on by anti-device weapons), and making control transfer when that device is reduced to 0 HP? Would that be any easier for allowing the capture of multiple ships than dedicating a special command to it?

Edit: Scratch that, as the center of some ships is actually outside the model itself and therefore vulnerable to anti-device weaponry as well as commandos.