3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 1814|回复: 3
打印 上一主题 下一主题

[MOD] -----确诊后直接去治疗的修改方法----

[复制链接]

47

主题

654

帖子

1314

积分

游戏狂人

Rank: 6Rank: 6

贡献度
118
金元
8423
积分
1314
精华
0
注册时间
2009-11-4
跳转到指定楼层
主题
发表于 2018-9-27 10:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


参考别人的帖子...忘记是哪个贴了

ProcessDiagnosis




---------------------------------------新加的
    if (patient.FullyDiagnosed()) //判断是不是确诊了.默认90%就算确诊了
                {



//这一句是送去治疗
                    patient.SendToTreatmentRoom(patient.Illness.GetTreatmentRoom(patient, researchManager), true);
                    return;
                }



--------------------------



   
改完后看起来如下


private void ProcessDiagnosis(Patient patient)
        
{
            
Level level = patient.Level;
            
ResearchManager researchManager = level.ResearchManager;
            
if (this._doctor.ModifiersComponent != null)
            
{
               
this._doctor.ModifiersComponent.ApplyInteractWithOtherModifiers(patient);
            
}
            
float certainty = GameAlgorithms.GetDiagnosisCertainty(patient, this._room, this._doctor, researchManager).Certainty;
            
patient.ReceiveDiagnosis(this._room, this._doctor, certainty);
            
this._room.OnUnitProcessed();
            
if (this._room.Definition._type == RoomDefinition.Type.GPOffice)
            
{
               
if (patient.FullyDiagnosed())
               
{
                    
patient.SendToTreatmentRoom(patient.Illness.GetTreatmentRoom(patient, researchManager), true);
               
}
               
else
               
{
                    
patient.SendToDiagnosisRoom(DiagnosisTreatmentComponent.GetDiagnosisRoom(patient, this._doctor));
               
}
            
}
            
else
            
{

              
  if (patient.FullyDiagnosed())
                {
                    patient.SendToTreatmentRoom(patient.Illness.GetTreatmentRoom(patient, researchManager), true);
                    return;
                }

               
Room bestRoomOfType = GameAlgorithms.GetBestRoomOfType(level.WorldState, RoomDefinition.Type.GPOffice, patient);
               
if (bestRoomOfType != null)
               
{
                    
patient.GotoRoom(bestRoomOfType, ReasonUseRoom.Diagnosis, false, -1);
               
}
               
else
               
{
                    
patient.WaitForRoomToBeBuilt(RoomDefinition.Type.GPOffice, ReasonUseRoom.Diagnosis, GameAlgorithms.Config.PatientWaitLongTime);
               
}
            
}
        
}












回复

使用道具 举报

7

主题

477

帖子

548

积分

高级玩家

Rank: 4

贡献度
2
金元
5400
积分
548
精华
0
注册时间
2015-9-5
舒服的沙发
发表于 2018-9-27 10:57 | 只看该作者
谢谢分享啊。早早的就想知道这里如何修改。奈何没有大神指点啊!
回复 支持 反对

使用道具 举报

3

主题

187

帖子

247

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
2471
积分
247
精华
0
注册时间
2012-6-3
硬硬的板凳
发表于 2018-9-27 21:19 来自手机 | 只看该作者
可惜不能改%数 后面几乎都8x全科的 还是要跑诊断   
回复 支持 反对

使用道具 举报

47

主题

654

帖子

1314

积分

游戏狂人

Rank: 6Rank: 6

贡献度
118
金元
8423
积分
1314
精华
0
注册时间
2009-11-4
冰凉的地板
 楼主| 发表于 2018-9-27 21:36 | 只看该作者
tgg035220 发表于 2018-9-27 21:19
可惜不能改%数 后面几乎都8x全科的 还是要跑诊断

        // Token: 0x06000D2D RID: 3373 RVA: 0x0000AC37 File Offset: 0x00008E37
        
public bool FullyDiagnosed()
        
{
            
return this.DiagnosisCertainty >= GameAlgorithms.Config.DiagnosisCertaintyLevel;
        
}
可以的。你找到这一处。改成

      public bool FullyDiagnosed()
        
{
            
return this.DiagnosisCertainty >= 80f;
        
}

这样就是80%算确诊

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2025-1-31 14:48 , Processed in 0.124263 second(s), 15 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表