~eda-qa/dhlib/main

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/* <license>
 * This file is part of the dis-Emi-A HaXe Library. Copyright © edA-qa mort-ora-y
 * For full copyright and license information please refer to doc/license.txt.
 * </license> 
 */

/**
 * DIFFICULTY
 * 
 * This generally effects the speed of objects, and overal objective
 * levels.
 *
 * It is not expected to go beyond the -2,2 range (otherwise more min/max
 * would be needed.
 */
 
DInt( startingLives, 5 )	//level unaffect by DIFF, since other options make it easy/hard enough
DInt( puzzleCompleteLivesBonus, 1 )	//bonus for completing puzzle, only 0 or 1 make sense
DInt( extraLifePointDelta, 10000 )

DIPoint( surfaceSize, 100, 100 )

//each difficult level adds 5% needed to the coverage
DFloat( levelClearAt, 0.75 + 0.05 * FDIFF )

DFloat( puzzleEndTime, 5 )

DFPoint( cursorSize, 5, 5 )
DFloat( cursorSpeed, 25 - 5 * FDIFF )
DFloat( cursorInvincibleTime, MAX( 3, 5 + 2 * FDIFF ) )
DFloat( cursorInvincibleDist, 20 )
DFloat( cursorSpeedRecoverTime, 10 )
DFloat( cursorSpeedUpFactor, 2 )
DFloat( cursorSpeedDownFactor, 0.5 )

DFloat( traceIdleBurnTime, MAX( 1.5, 2.5 + FDIFF/2.0 ) )
DInt( traceBacktrackBurn, MAX( 2, 5 - 2 * IDIFF ) )	//how many intersections to go before burning (in surface distance units)
DFPoint( traceBurnSize, 8, 8 )
DFloat( traceBurnSpeed, 15 - 5 * FDIFF )	//somewhat less than the normal cursorSpeed
DFloat( traceBurnStartDelay,  MAX( 1, 2 - FDIFF/2.0 ) )	//how long the burn waits before starting to move

DFloat( edgeMonsterSpeed, 20 + 2 * FDIFF )
DFPoint( edgeMonsterSize, 5, 5 )
DFloat( edgeMonsterCreateTime, 25 - 4 * FDIFF )
DInt( numEdgeMonsters, MIN( 4, MAX( 0, 2 + IDIFF +  Math.floor( ILEVEL / 2 ) ) ) ) //how many edge monsters should be created at start (if 0, no new monsters will appear either), min 4 since more will just overlap

DFloat( innerMonsterSpeed, 25 ) //don't alter, since cursor speed is already enough for difficulty
DFPoint( innerMonsterSize, 10, 10 )
DInt( innerMonsterTrail, 7 + IDIFF )
DInt( numInnerMonsters, MIN( 3, 1 + Math.floor( ILEVEL / 3 ) ) )	//how many inner monsters should be used (may be 0)

DFloat( puzzlePieceThreshold, 0.02 )	//minimum to clear to get a puzzle piece
DFloat( puzzlePieceSpeed, 15 )
DFPoint( puzzlePieceSize, 5, 5 )
DFloat( puzzlePieceRandomRate, 0.2 )

DFPoint( innerBonusSize, 5, 5 )

DFloat( monsterFreezeTime, 5 )