ShipTemplateBasedObject::ShipTemplateBasedObject(float collision_range, string multiplayer_name, float multiplayer_significant_range) : SpaceObject(collision_range, multiplayer_name, multiplayer_significant_range) { setCollisionPhysics(true, true); shield_count = 0; for(int n=0; n<max_shield_count; n++) { shield_level[n] = 0.0; shield_max[n] = 0.0; shield_hit_effect[n] = 0.0; } hull_strength = hull_max = 100.0; registerMemberReplication(&template_name); registerMemberReplication(&type_name); registerMemberReplication(&shield_count); for(int n=0; n<max_shield_count; n++) { registerMemberReplication(&shield_level[n], 0.5); registerMemberReplication(&shield_max[n]); registerMemberReplication(&shield_hit_effect[n], 0.5); } registerMemberReplication(&callsign); registerMemberReplication(&radar_trace); callsign = "[" + string(getMultiplayerId()) + "]"; }
SpaceStation::SpaceStation() : SpaceObject(300, "SpaceStation") { setCollisionPhysics(true, true); shields = shields_max = 400; hull_strength = hull_max = 200; shieldHitEffect = 0.0; registerMemberReplication(&template_name); registerMemberReplication(&shields, 1.0); registerMemberReplication(&shields_max); registerMemberReplication(&shieldHitEffect, 0.5); registerMemberReplication(&callsign); comms_script_name = "comms_station.lua"; callsign = "DS" + string(getMultiplayerId()); }