bool DDDFrigateSpecialActivate(Ship *ship) { DDDFrigateSpec *spec = (DDDFrigateSpec *)ship->ShipSpecifics; switch (spec->DDDstate) { case DDDSTATE_ALLINSIDE: spec->DDDstate = DDDSTATE_LAUNCHTHEM; speechEvent(ship, COMM_DDF_LaunchDrones, 0); break; case DDDSTATE_ALLOUTSIDE: spec->DDDstate = DDDSTATE_DOCKTHEM; speechEvent(ship, COMM_DDF_RetractDrones, 0); break; } return TRUE; }
void ResearchShipInit(Ship *ship) { ResearchShipSpec *spec = (ResearchShipSpec *)ship->ShipSpecifics; spec->seed = FALSE; spec->dockers = 0; //this variable is questionable spec->done = FALSE; spec->master = FALSE; spec->prepshipforanother = 0; spec->rotate_state = 0; spec->theta = 0.0f; spec->busy_docking = FALSE; spec->have_removed_from_parade = FALSE; spec->masterptr = NULL; spec->dockwith = NULL; spec->dockordernumber = 0; ship->dockvars.reserveddocking = -1; //initialize since doesn't seem to be initialized ///////////////// //research station online message speechEvent(ship,STAT_Research_StationOnline,0); }