| 3906 | } |
| 3907 | |
| 3908 | void InitObjects() |
| 3909 | { |
| 3910 | ClrAllObjects(); |
| 3911 | NaKrulTomeSequence = 0; |
| 3912 | if (currlevel == 16) { |
| 3913 | AddDiabObjs(); |
| 3914 | } else { |
| 3915 | DiscardRandomValues(1); |
| 3916 | if (currlevel == 9 && !UseMultiplayerQuests()) |
| 3917 | AddSlainHero(); |
| 3918 | if (Quests[Q_MUSHROOM].IsAvailable()) |
| 3919 | AddMushPatch(); |
| 3920 | |
| 3921 | if (currlevel == 4 || currlevel == 8 || currlevel == 12) |
| 3922 | AddStoryBooks(); |
| 3923 | if (currlevel == 21) { |
| 3924 | AddCryptStoryBook(1); |
| 3925 | } else if (currlevel == 22) { |
| 3926 | AddCryptStoryBook(2); |
| 3927 | AddCryptStoryBook(3); |
| 3928 | } else if (currlevel == 23) { |
| 3929 | AddCryptStoryBook(4); |
| 3930 | AddCryptStoryBook(5); |
| 3931 | } |
| 3932 | if (currlevel == 24) { |
| 3933 | AddNakrulGate(); |
| 3934 | } |
| 3935 | if (leveltype == DTYPE_CATHEDRAL) { |
| 3936 | if (Quests[Q_BUTCHER].IsAvailable()) |
| 3937 | AddTortures(); |
| 3938 | if (Quests[Q_PWATER].IsAvailable()) |
| 3939 | AddCandles(); |
| 3940 | if (Quests[Q_LTBANNER].IsAvailable()) |
| 3941 | AddObject(OBJ_SIGNCHEST, SetPiece.position.megaToWorld() + Displacement { 10, 3 }); |
| 3942 | InitRndLocBigObj(10, 15, OBJ_SARC); |
| 3943 | AddL1Objs(0, 0, MAXDUNX, MAXDUNY); |
| 3944 | InitRndBarrels(); |
| 3945 | } |
| 3946 | if (leveltype == DTYPE_CATACOMBS) { |
| 3947 | if (Quests[Q_ROCK].IsAvailable()) |
| 3948 | InitRndLocObj5x5(1, 1, OBJ_STAND); |
| 3949 | if (Quests[Q_SCHAMB].IsAvailable()) |
| 3950 | InitRndLocObj5x5(1, 1, OBJ_BOOK2R); |
| 3951 | AddL2Objs(0, 0, MAXDUNX, MAXDUNY); |
| 3952 | AddL2Torches(); |
| 3953 | if (Quests[Q_BLIND].IsAvailable()) { |
| 3954 | _speech_id spId; |
| 3955 | switch (MyPlayer->_pClass) { |
| 3956 | case HeroClass::Warrior: |
| 3957 | spId = TEXT_BLINDING; |
| 3958 | break; |
| 3959 | case HeroClass::Rogue: |
| 3960 | spId = TEXT_RBLINDING; |
| 3961 | break; |
| 3962 | case HeroClass::Sorcerer: |
| 3963 | spId = TEXT_MBLINDING; |
| 3964 | break; |
| 3965 | case HeroClass::Monk: |
no test coverage detected