mirror of https://github.com/OpenRCT2/OpenRCT2.git
Added check for 10 rollercoaster objective
This commit is contained in:
parent
e1f5c62fcc
commit
efc4095d85
|
@ -29,6 +29,7 @@
|
||||||
#include "object.h"
|
#include "object.h"
|
||||||
#include "park.h"
|
#include "park.h"
|
||||||
#include "rct2.h"
|
#include "rct2.h"
|
||||||
|
#include "ride.h"
|
||||||
#include "sawyercoding.h"
|
#include "sawyercoding.h"
|
||||||
#include "scenario.h"
|
#include "scenario.h"
|
||||||
#include "strings.h"
|
#include "strings.h"
|
||||||
|
@ -582,6 +583,38 @@ void scenario_success()
|
||||||
scenario_end();
|
scenario_end();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void objective_check_10_rollercoasters()
|
||||||
|
{
|
||||||
|
int i, rcs = 0;
|
||||||
|
uint8 type_already_counted[256];
|
||||||
|
rct_ride* ride;
|
||||||
|
|
||||||
|
memset(type_already_counted, 0, 256);
|
||||||
|
|
||||||
|
for (i = 0; i < 255; i++) {
|
||||||
|
uint8 rc_type;
|
||||||
|
uint32 rollercoaster_p;
|
||||||
|
ride = &(RCT2_ADDRESS(RCT2_ADDRESS_RIDE_LIST, rct_ride)[i]);
|
||||||
|
if (ride->type == RIDE_TYPE_NULL)
|
||||||
|
continue;
|
||||||
|
rc_type = ride->var_001;
|
||||||
|
rollercoaster_p = RCT2_GLOBAL(0x009ACFA4 + rc_type*4, uint32);
|
||||||
|
|
||||||
|
if ((RCT2_GLOBAL(rollercoaster_p + 0x1BE, sint8) == 2 ||
|
||||||
|
RCT2_GLOBAL(rollercoaster_p + 0x1BF, sint8) == 2 )&&
|
||||||
|
ride->status == RIDE_STATUS_OPEN &&
|
||||||
|
ride->var_140 >= 600 && type_already_counted[rc_type] == 0){
|
||||||
|
type_already_counted[rc_type]++;
|
||||||
|
rcs++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (rcs >= 10)
|
||||||
|
scenario_success();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* rct2: 0x0066A4B2
|
* rct2: 0x0066A4B2
|
||||||
**/
|
**/
|
||||||
|
@ -623,7 +656,10 @@ void check_objectives()
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OBJECTIVE_10_ROLLERCOASTERS://5
|
case OBJECTIVE_10_ROLLERCOASTERS://5
|
||||||
|
|
||||||
|
objective_check_10_rollercoasters();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OBJECTIVE_GUESTS_AND_RATING://6
|
case OBJECTIVE_GUESTS_AND_RATING://6
|
||||||
|
|
||||||
if (park_rating >= 700 && guests_in_park > objective_guests)
|
if (park_rating >= 700 && guests_in_park > objective_guests)
|
||||||
|
|
Loading…
Reference in New Issue