5858 kEquipmentInfo_defaultActivateKey ,
5959 kEquipmentInfo_defaultModeKey ,
6060 kEquipmentInfo_incompatibleEquipment ,
61+ kEquipmentInfo_installationTime ,
6162 kEquipmentInfo_isAvailableToAll ,
6263 kEquipmentInfo_isAvailableToNPCs ,
6364 kEquipmentInfo_isAvailableToPlayer ,
6768 kEquipmentInfo_name ,
6869 kEquipmentInfo_price ,
6970 kEquipmentInfo_provides ,
71+ kEquipmentInfo_repairTime ,
7072 kEquipmentInfo_requiredCargoSpace ,
7173 kEquipmentInfo_requiresAnyEquipment ,
7274 kEquipmentInfo_requiresCleanLegalRecord ,
100102 { " defaultActivateKey" , kEquipmentInfo_defaultActivateKey , OOJS_PROP_READONLY_CB },
101103 { " defaultModeKey" , kEquipmentInfo_defaultModeKey , OOJS_PROP_READONLY_CB },
102104 { " incompatibleEquipment" , kEquipmentInfo_incompatibleEquipment , OOJS_PROP_READONLY_CB },
105+ { " installationTime" , kEquipmentInfo_installationTime , OOJS_PROP_READONLY_CB },
103106 { " isAvailableToAll" , kEquipmentInfo_isAvailableToAll , OOJS_PROP_READONLY_CB },
104107 { " isAvailableToNPCs" , kEquipmentInfo_isAvailableToNPCs , OOJS_PROP_READONLY_CB },
105108 { " isAvailableToPlayer" , kEquipmentInfo_isAvailableToPlayer , OOJS_PROP_READONLY_CB },
109112 { " name" , kEquipmentInfo_name , OOJS_PROP_READONLY_CB },
110113 { " price" , kEquipmentInfo_price , OOJS_PROP_READONLY_CB },
111114 { " provides" , kEquipmentInfo_provides , OOJS_PROP_READONLY_CB },
115+ { " repairTime" , kEquipmentInfo_repairTime , OOJS_PROP_READONLY_CB },
112116 { " requiredCargoSpace" , kEquipmentInfo_requiredCargoSpace , OOJS_PROP_READONLY_CB },
113117 { " requiresAnyEquipment" , kEquipmentInfo_requiresAnyEquipment , OOJS_PROP_READONLY_CB },
114118 { " requiresCleanLegalRecord" , kEquipmentInfo_requiresCleanLegalRecord , OOJS_PROP_READONLY_CB },
@@ -250,6 +254,7 @@ static JSBool EquipmentInfoGetProperty(JSContext *context, JSObject *this, jsid
250254
251255 OOEquipmentType *eqType = nil ;
252256 id result = nil ;
257+ NSUInteger inst_time;
253258
254259 if (EXPECT_NOT (!JSEquipmentInfoGetEquipmentType (context, this, &eqType))) return NO ;
255260
@@ -325,7 +330,16 @@ static JSBool EquipmentInfoGetProperty(JSContext *context, JSObject *this, jsid
325330 case kEquipmentInfo_provides :
326331 result = [eqType providesForScripting ];
327332 break ;
328-
333+
334+ case kEquipmentInfo_installationTime :
335+ inst_time = [eqType installTime ];
336+ if (inst_time == 0 )
337+ {
338+ inst_time = [eqType price ] + 600 ;
339+ }
340+ *value = INT_TO_JSVAL ((int32_t )inst_time);
341+ return YES ;
342+
329343 case kEquipmentInfo_isAvailableToAll :
330344 *value = OOJSValueFromBOOL ([eqType isAvailableToAll ]);
331345 return YES ;
@@ -337,7 +351,11 @@ static JSBool EquipmentInfoGetProperty(JSContext *context, JSObject *this, jsid
337351 case kEquipmentInfo_isAvailableToPlayer :
338352 *value = OOJSValueFromBOOL ([eqType isAvailableToPlayer ]);
339353 return YES ;
340-
354+
355+ case kEquipmentInfo_repairTime :
356+ *value = INT_TO_JSVAL ((int32_t )[eqType repairTime ]);
357+ return YES ;
358+
341359 case kEquipmentInfo_requiresEmptyPylon :
342360 *value = OOJSValueFromBOOL ([eqType requiresEmptyPylon ]);
343361 return YES ;
0 commit comments