Cities: Skylines

Cities: Skylines

Dropouts
AD compatibility is doubtful
since the author kindly provided source and people were asking about AD, I took a look.

there's not a lot of code.

here's one interesting section

static int TakeExam(uint citizenIndex) { SimulationManager simulationManager = Singleton<SimulationManager>.instance; CitizenManager citizenManager = Singleton<CitizenManager>.instance; DistrictManager districtManager = Singleton<DistrictManager>.instance; BuildingManager buildingManager = Singleton<BuildingManager>.instance; Vector3 position = buildingManager.m_buildings.m_buffer[citizenManager.m_citizens.m_buffer[citizenIndex].m_homeBuilding].m_position; byte district = districtManager.GetDistrict(position); DistrictPolicies.Services servicePolicies = districtManager.m_districts.m_buffer[(int)district].m_servicePolicies; int grade = simulationManager.m_randomizer.Int32(100); if ((servicePolicies & DistrictPolicies.Services.EducationBoost) != 0) { grade += 20; } return grade; }

students attended school accumulate grade until they graduate (or drop out because of this mod, or schools are closed by the user and they must return to work maybe, etc). This section works with students already attending school, so it shouldn't necessarily change based on the AD policy. However, clearly, he is only looking at Education Boost here.

Nowhere else in the code did I see any code addressing policies.

However, I see that he overrides the citizen AI, which might mean a conflict:

namespace Dropouts { public class Flunker : ThreadingExtensionBase { // ResidentAI subclass to access protected methods. public class FlunkingResidentAI : ResidentAI { ... FlunkingResidentAI m_residentAI; public override void OnCreated (IThreading threading) { m_residentAI = new FlunkingResidentAI(); #if DROPOUTS_DEBUG Debug.Log("Flunker loaded"); #endif }

The reason I think this is a conflict is that this is where he is making all his changes, and these effect mostly the selection of looking for a job or going to school, and the advancements made while attending. So it stands to reason that the new AD policy would likely also be in the same residentAI.
Last edited by roberto tomás; 27 Oct, 2015 @ 9:17am
< >
Showing 1-2 of 2 comments
benzoll 27 Feb, 2016 @ 12:47pm 
Originally posted by roberto tomás:
since the author kindly provided source and people were asking about AD, I took a look.

there's not a lot of code.

here's one interesting section

static int TakeExam(uint citizenIndex) { SimulationManager simulationManager = Singleton<SimulationManager>.instance; CitizenManager citizenManager = Singleton<CitizenManager>.instance; DistrictManager districtManager = Singleton<DistrictManager>.instance; BuildingManager buildingManager = Singleton<BuildingManager>.instance; Vector3 position = buildingManager.m_buildings.m_buffer[citizenManager.m_citizens.m_buffer[citizenIndex].m_homeBuilding].m_position; byte district = districtManager.GetDistrict(position); DistrictPolicies.Services servicePolicies = districtManager.m_districts.m_buffer[(int)district].m_servicePolicies; int grade = simulationManager.m_randomizer.Int32(100); if ((servicePolicies & DistrictPolicies.Services.EducationBoost) != 0) { grade += 20; } return grade; }

students attended school accumulate grade until they graduate (or drop out because of this mod, or schools are closed by the user and they must return to work maybe, etc). This section works with students already attending school, so it shouldn't necessarily change based on the AD policy. However, clearly, he is only looking at Education Boost here.

Nowhere else in the code did I see any code addressing policies.

However, I see that he overrides the citizen AI, which might mean a conflict:

namespace Dropouts { public class Flunker : ThreadingExtensionBase { // ResidentAI subclass to access protected methods. public class FlunkingResidentAI : ResidentAI { ... FlunkingResidentAI m_residentAI; public override void OnCreated (IThreading threading) { m_residentAI = new FlunkingResidentAI(); #if DROPOUTS_DEBUG Debug.Log("Flunker loaded"); #endif }

The reason I think this is a conflict is that this is where he is making all his changes, and these effect mostly the selection of looking for a job or going to school, and the advancements made while attending. So it stands to reason that the new AD policy would likely also be in the same residentAI.

New policy in AD does the same as mod "dropouts"?
benzoll 18 Aug, 2016 @ 2:54am 
Answer I myself: yes.
Policy "Out school" is light, but enough.
And you use mod, better no make policy "out school".


Last edited by benzoll; 12 Jul, 2018 @ 2:36am
< >
Showing 1-2 of 2 comments
Per page: 1530 50