Cities: Skylines

Cities: Skylines

Dropouts
roberto tomás 2015년 10월 27일 오전 9시 10분
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.
roberto tomás 님이 마지막으로 수정; 2015년 10월 27일 오전 9시 17분
< >
전체 댓글 2개 중 1~2개 표시 중
benzoll 2016년 2월 27일 오후 12시 47분 
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 2016년 8월 18일 오전 2시 54분 
Answer I myself: yes.
Policy "Out school" is light, but enough.
And you use mod, better no make policy "out school".


benzoll 님이 마지막으로 수정; 2018년 7월 12일 오전 2시 36분
< >
전체 댓글 2개 중 1~2개 표시 중
페이지당 표시 개수: 1530 50