Copyright (c) 2013 Mark "MarkL" Lawlor

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

---------------------- General Information -------------------------
%Name = "Finisham"
%MapFile = "finisham.map"

%LevelBriefing = "The Ministry of Health wants you to run his newest hospital in the holiday resort of Finisham.

This hospital is located in a popular tourist spot and they are opening a Theme Park nearby next year, so expect seasonal peaks in visitors. You are expected to run a superb hospital with the highest of standards; he expects nothing less than perfection.

You should aim to keep queues to a minimum and keep your staff happy at the same time.

Get a reputation of at least 700, treat 85% of your visitors, cure 900 patients, amass $500,000 in the bank and have a hospital worth $400,000 to keep the Minister happy and make him a big wad of cash at the same time."

%LevelDebriefing = "Extremely good work! Where to next?"

Town properties
InterestRate is defined as centiprocent to allow for two decimals precision, i.e.
300 means 3 %
#town.StartCash.InterestRate 30000 1200

-------------------- Disease Configuration -------------------------

When a drug is researched, what effectiveness does it have
#gbv.StartRating 80

The following table contains all diagnoses and treatments that shows up in the drug casebook
in the game. Known specifies whether it should show up from the beginning of the level and
RschReqd how much research is required to discover the treatment room for the disease.
#expertise[1].Known.RschReqd 1 0 GENERAL_PRACTICE
#expertise[2].Known.RschReqd 1 40000 BLOATY_HEAD
#expertise[3].Known.RschReqd 0 40000 HAIRYITUS
#expertise[4].Known.RschReqd 0 60000 ELVIS
#expertise[5].Known.RschReqd 0 60000 INVIS
#expertise[6].Known.RschReqd 0 60000 RADIATION
#expertise[7].Known.RschReqd 0 40000 SLACK_TONGUE
#expertise[8].Known.RschReqd 0 60000 ALIEN
#expertise[9].Known.RschReqd 0 20000 BROKEN_BONES
#expertise[10].Known.RschReqd 0 40000 BALDNESS
#expertise[11].Known.RschReqd 0 40000 DISCRETE_ITCHING
#expertise[12].Known.RschReqd 0 40000 JELLYITUS
#expertise[13].Known.RschReqd 0 40000 SLEEPING_ILLNESS
#expertise[14].Known.RschReqd 0 30000 PREGNANT
#expertise[15].Known.RschReqd 0 40000 TRANSPARENCY
#expertise[16].Known.RschReqd 0 20000 UNCOMMON_COLD
#expertise[17].Known.RschReqd 0 60000 BROKEN_WIND
#expertise[18].Known.RschReqd 0 20000 SPARE_RIBS
#expertise[19].Known.RschReqd 0 20000 KIDNEY_BEANS
#expertise[20].Known.RschReqd 0 20000 BROKEN_HEART
#expertise[21].Known.RschReqd 0 20000 RUPTURED_NODULES
#expertise[22].Known.RschReqd 0 40000 MULTIPLE_TV_PERSONALITIES
#expertise[23].Known.RschReqd 1 60000 INFECTIOUS_LAUGHTER
#expertise[24].Known.RschReqd 0 40000 CORRUGATED_ANKLES
#expertise[25].Known.RschReqd 0 40000 CHRONIC_NOSEHAIR
#expertise[26].Known.RschReqd 0 40000 3RD_DEGREE_SIDEBURNS
#expertise[27].Known.RschReqd 0 40000 FAKE_BLOOD
#expertise[28].Known.RschReqd 0 40000 GASTRIC_EJECTIONS
#expertise[29].Known.RschReqd 1 20000 THE_SQUITS
#expertise[30].Known.RschReqd 0 20000 IRON_LUNGS
#expertise[31].Known.RschReqd 0 40000 SWEATY_PALMS
#expertise[32].Known.RschReqd 0 20000 HEAPED_PILES
#expertise[33].Known.RschReqd 0 20000 GUT_ROT
#expertise[34].Known.RschReqd 0 20000 GOLF_STONES
#expertise[35].Known.RschReqd 0 20000 UNEXPECTED_SWELLING
#expertise[36].Known.RschReqd 0 40000 I_D_SCANNER             DIAGNOSIS
#expertise[37].Known.RschReqd 0 50000 I_D_BLOOD_MACHINE       DIAGNOSIS
#expertise[38].Known.RschReqd 0 20000 I_D_CARDIO              DIAGNOSIS
#expertise[39].Known.RschReqd 0 30000 I_D_XRAY                DIAGNOSIS
#expertise[40].Known.RschReqd 0 60000 I_D_ULTRASCAN           DIAGNOSIS
#expertise[41].Known.RschReqd 1 20000 I_D_STANDARD            DIAGNOSIS
#expertise[42].Known.RschReqd 1 20000 I_D_WARD                DIAGNOSIS
#expertise[43].Known.RschReqd 1 20000 I_D_SHRINK              DIAGNOSIS

| Objects available | Available from the start | Strength | Available for this level | Comment
#objects[9].StartAvail.StartStrength.AvailableForLevel 1 8 1 Inflator Machine
#objects[13].StartAvail.StartStrength.AvailableForLevel 1 13 1 Cardiogram
#objects[14].StartAvail.StartStrength.AvailableForLevel 0 12 1 Scanner
#objects[22].StartAvail.StartStrength.AvailableForLevel 0 9 1 Ultrascan
#objects[23].StartAvail.StartStrength.AvailableForLevel 0 7 1 DNA Restorer
#objects[24].StartAvail.StartStrength.AvailableForLevel 0 11 1 Cast Remover
#objects[25].StartAvail.StartStrength.AvailableForLevel 0 8 1 Hair restorer
#objects[26].StartAvail.StartStrength.AvailableForLevel 0 10 1 Slicer for slack tongues
#objects[27].StartAvail.StartStrength.AvailableForLevel 0 12 1 X-Ray
#objects[30].StartAvail.StartStrength.AvailableForLevel 1 12 1 Operating Table
#objects[37].StartAvail.StartStrength.AvailableForLevel 1 0 1 Projector
#objects[40].StartAvail.StartStrength.AvailableForLevel	0 1 1 Research Computer
#objects[41].StartAvail.StartStrength.AvailableForLevel	0 1 1 Chemical Mixer
#objects[42].StartAvail.StartStrength.AvailableForLevel 0 10 1 Blood Machine
#objects[46].StartAvail.StartStrength.AvailableForLevel 0 8 1 Electrolysis Machine
#objects[47].StartAvail.StartStrength.AvailableForLevel 0 7 1 Jellyitus Moulding Machine
#objects[54].StartAvail.StartStrength.AvailableForLevel 0 10 1 Decontamination Shower
#objects[55].StartAvail.StartStrength.AvailableForLevel 1 10 1 Autopsy Research Machine
#objects[57].StartAvail.StartStrength.AvailableForLevel 0 57 1 Video Game


#visuals[0]  1 I_BLOATY_HEAD
#visuals[1]  21 I_HAIRYITUS
#visuals[2]  7 I_ELVIS
#visuals[3]  9 I_INVIS
#visuals[4]  23 I_RADIATION
#visuals[5]  11 I_SLACK_TONGUE
#visuals[6]  41 I_ALIEN
#visuals[7]  11 I_BROKEN_BONES
#visuals[8]  12 I_BALDNESS
#visuals[9]  5 I_DISCRETE_ITCHING
#visuals[10] 12 I_JELLYITUS
#visuals[11] 1 I_SLEEPING_ILLNESS
#visuals[12] 18 I_PREGNANT
#visuals[13] 16 I_TRANSPARENCY
#non_visuals[0] 1 I_UNCOMMON_COLD
#non_visuals[1] 3 I_BROKEN_WIND
#non_visuals[2] 19 I_SPARE_RIBS
#non_visuals[3] 31 I_KIDNEY_BEANS
#non_visuals[4] 25 I_BROKEN_HEART
#non_visuals[5] 18 I_RUPTURED_NODULES
#non_visuals[6] 1 I_MULTIPLE_TV_PERSONALITIES
#non_visuals[7] 14 I_INFECTIOUS_LAUGHTER
#non_visuals[8] 21 I_CORRUGATED_ANKLES
#non_visuals[9] 15 I_CHRONIC_NOSEHAIR
#non_visuals[10] 1 I_3RD_DEGREE_SIDEBURNS
#non_visuals[11] 31 I_FAKE_BLOOD
#non_visuals[12] 13 I_GASTRIC_EJECTIONS
#non_visuals[13] 6 I_THE_SQUITS
#non_visuals[14] 9 I_IRON_LUNGS
#non_visuals[15] 9 I_SWEATY_PALMS
#non_visuals[16] 15 I_HEAPED_PILES
#non_visuals[17] 18 I_GUT_ROT
#non_visuals[18] 7 I_GOLF_STONES
#non_visuals[19] 5 I_UNEXPECTED_SWELLING


---------------------- Staff Configuration -------------------------

Each entry states how many staff members of each category are available
a given month. The number of entries is not fixed.
| A list | Month it gets active (start at 0) | Each group |
#staff_levels[0].Month.Nurses.Doctors.Handymen.Receptionists 0 8 8 3 2
#staff_levels[1].Month.Nurses.Doctors.Handymen.Receptionists 3 7 5 5 3
#staff_levels[2].Month.Nurses.Doctors.Handymen.Receptionists 5 5 8 7 4

The minimum salary for each staff type
#staff[0].MinSalary 60 Nurse
#staff[1].MinSalary 75 Doctor
#staff[2].MinSalary 25 Handyman
#staff[3].MinSalary 20 Receptionist

Salary modifiers for different doctor attributes
#gbv.SalaryAdd[3] -30 Junior
#gbv.SalaryAdd[4] 30 Doctor
#gbv.SalaryAdd[5] 40 Surgeon
#gbv.SalaryAdd[6] 30 Psychiatrist
#gbv.SalaryAdd[7] 100 Consultant
#gbv.SalaryAdd[8] 20 Researcher

How much the skill of the doctor adds to the salary. skill * 1000 / divisor
#gbv.SalaryAbilityDivisor 10
#gbv.LandCostPerTile 75

#gbv.TrainingRate         40
#gbv.AbilityThreshold[0]  75 Surgeon
#gbv.AbilityThreshold[1]  60 Psychiatrist
#gbv.AbilityThreshold[2]  45 Researcher
#gbv.TrainingValue[0]     10 Projector
#gbv.TrainingValue[1]     15 Skeleton
#gbv.TrainingValue[2]     20 Bookcase

#popn[0].Month.Change		0		2
#popn[1].Month.Change		3		0
#popn[2].Month.Change		18		20
#popn[3].Month.Change		21		-58
#popn[4].Month.Change		22		0
#popn[5].Month.Change		30		25
#popn[6].Month.Change		33		-76
#popn[7].Month.Change		34		0
#popn[8].Month.Change		42		28
#popn[9].Month.Change		45		-85
#popn[10].Month.Change		46		0
#popn[11].Month.Change		54		30
#popn[12].Month.Change		57		-90
#popn[13].Month.Change		58		0
#popn[14].Month.Change		66		30
#popn[15].Month.Change		69		-90
#popn[16].Month.Change		70		0
#popn[17].Month.Change		78		30
#popn[18].Month.Change		81		-90
#popn[19].Month.Change		82		0
#popn[20].Month.Change		90		30
#popn[21].Month.Change		93		-90
#popn[22].Month.Change		94		0
#popn[23].Month.Change		102		30
#popn[24].Month.Change		105		-90
#popn[25].Month.Change		106		0
#popn[26].Month.Change		114		30
#popn[27].Month.Change		117		-65
#popn[28].Month.Change		118		0

#quake_control[0].StartMonth.EndMonth.Severity		5	10	1
#quake_control[1].StartMonth.EndMonth.Severity		15	20	2
#quake_control[2].StartMonth.EndMonth.Severity		25	30	4
#quake_control[3].StartMonth.EndMonth.Severity		35	40	5
#quake_control[4].StartMonth.EndMonth.Severity		45	50	1
#quake_control[5].StartMonth.EndMonth.Severity		55	60	2
#quake_control[6].StartMonth.EndMonth.Severity		65	70	4
#quake_control[7].StartMonth.EndMonth.Severity		75	80	6
#quake_control[8].StartMonth.EndMonth.Severity		85	90	1
#quake_control[9].StartMonth.EndMonth.Severity		95	100	2
#quake_control[10].StartMonth.EndMonth.Severity		105	110	4
#quake_control[11].StartMonth.EndMonth.Severity		125	130	8

#emergency_control[0].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus		4	8	4	6	23	75	1500
#emergency_control[1].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus		12	16	8	10	2	75	1000
#emergency_control[2].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus		20	24	5	9	27	75	1000
#emergency_control[3].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus		28	32	10	14	33	75	500
#emergency_control[4].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus		36	40	4	5	8	75	2500
#emergency_control[5].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus		44	48	2	2	30	75	1800
#emergency_control[6].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus		52	56	7	12	12	75	1200
#emergency_control[7].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus		60	64	5	9	8	75	2000
#emergency_control[8].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus		68	72	4	5	21	75	1600
#emergency_control[9].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus		76	80	9	13	26	75	550
#emergency_control[10].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus	84	88	6	8	3	75	1300
#emergency_control[11].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus	92	96	7	11	8	75	2000
#emergency_control[12].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus	100	104	4	6	20	75	2000
#emergency_control[13].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus	108	112	10	14	28	75	700
#emergency_control[14].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus	116	120	6	11	6	75	2000
#emergency_control[15].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus	124	128	9	13	8	75	2000
#emergency_control[16].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus	132	136	14	18	31	75	800
#emergency_control[17].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus	140	144	4	7	34	75	1600
#emergency_control[18].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus	148	152	8	14	17	75	1400
#emergency_control[19].StartMonth.EndMonth.Min.Max.Illness.PercWin.Bonus	156	160	18	20	4	75	5000

--------------------- Research Configuration -----------------------

Divides research input to get the amount of research points. must be > 0
#gbv.ResearchPointsDivisor 5

---------------------- Awards and Trophies -------------------------

#awards_trophies.CansofCoke             200
#awards_trophies.CansofCokeBonus        10000
#awards_trophies.Reputation             850
#awards_trophies.TrophyReputationBonus  20000
#awards_trophies.TrophyDeathBonus	10000

------------------ Winning and Losing Conditions -------------------
But we don't want any such conditions on the example level!
1 Total reputation
2 Balance total
3 Percentage people your hospital has handled
4 Percentage people have been cured
5 Percentage people have been killed
6 Hospital value

#win_criteria[0].Criteria.MaxMin.Value.Group.Bound	1	1	700		1	0
#win_criteria[1].Criteria.MaxMin.Value.Group.Bound	2	1	500000	1	0
#win_criteria[2].Criteria.MaxMin.Value.Group.Bound	3	1	85		1	0
#win_criteria[3].Criteria.MaxMin.Value.Group.Bound	4	1	900		1	0
#win_criteria[4].Criteria.MaxMin.Value.Group.Bound	6	1	400000	1	0

#lose_criteria[0].Criteria.MaxMin.Value.Group.Bound	1	0	400		1	450
#lose_criteria[1].Criteria.MaxMin.Value.Group.Bound	2	0	-20000		2	-10000
#lose_criteria[2].Criteria.MaxMin.Value.Group.Bound	5	1	20		3	15

--------------------- Competitor Information -----------------------

| Index in the away "computer" | Is that opponent playing? 1 is yes, 0 no | Name |
#computer[12].Playing.Name 1 CORSIX
#computer[13].Playing.Name 1 ROUJIN
#computer[14].Playing.Name 1 EDVIN
