Skip to content

Commit

Permalink
Documented the default settings for levels and guard skills.
Browse files Browse the repository at this point in the history
  • Loading branch information
NagyD committed Jun 6, 2021
1 parent 70129f6 commit 7a23be8
Show file tree
Hide file tree
Showing 4 changed files with 277 additions and 3 deletions.
7 changes: 5 additions & 2 deletions SDLPoP.ini
Expand Up @@ -467,11 +467,13 @@ chomper_speed = 15
; The following customization options can be used in all level sections:
; level_type = 0: dungeon, 1: palace
; level_color = 0: colors from VDUNGEON.DAT/VPALACE.DAT, >0: colors from PRINCE.DAT (You need a PRINCE.DAT from 1.3 or 1.4 for this.)
; guard_type = 0: guard, 1: fat, 2: skel, 3: vizier, 4: shadow
; guard_type = -1: none, 0: guard, 1: fat, 2: skel, 3: vizier, 4: shadow
; guard_hp = Base hitpoints for guards on this level.
; cutscene = 0: none, 2 or 6: standing, 4: lying down, 8: mouse leaves, 9: mouse returns, 12: standing or turn around
; The numbers correspond to the number of the level which had that cutscene in the original game.
; entry_pose = 0: turning, 1: falling, 2: running
; seamless_exit = -1: disabled, >0: room where the level can be seamlessly exited.
; The default values can be found in doc/default_level_options.txt .
[Level 0] ; demo
[Level 1]
[Level 2]
Expand All @@ -490,14 +492,15 @@ chomper_speed = 15
[Level 15] ; potions


; The following customization options can be used for skills:
; The following customization options can be used for guard skills:
; strikeprob = Probability of striking, from 0 to 255.
; restrikeprob = Probability of re-striking after block, from 0 to 255.
; blockprob = Probability of blocking, from 0 to 255.
; impblockprob = Probability of improper blocking, from 0 to 255.
; advprob = Probability of going into hit range, from 0 to 255.
; refractimer = Refractory period after pain, in frames.
; extrastrength = Extra hit points.
; The default values can be found in doc/default_skill_options.txt .
[Skill 0]
[Skill 1]
[Skill 2]
Expand Down
153 changes: 153 additions & 0 deletions doc/default_level_options.txt
@@ -0,0 +1,153 @@
; The following customization options can be used in all level sections:
; level_type = 0: dungeon, 1: palace
; level_color = 0: colors from VDUNGEON.DAT/VPALACE.DAT, >0: colors from PRINCE.DAT (You need a PRINCE.DAT from 1.3 or 1.4 for this.)
; guard_type = -1: none, 0: guard, 1: fat, 2: skel, 3: vizier, 4: shadow
; guard_hp = Base hitpoints for guards on this level.
; cutscene = 0: none, 2 or 6: standing, 4: lying down, 8: mouse leaves, 9: mouse returns, 12: standing or turn around
; The numbers correspond to the number of the level which had that cutscene in the original game.
; entry_pose = 0: turning, 1: falling, 2: running
; seamless_exit = -1: disabled, >0: room where the level can be seamlessly exited.

[Level 0] ; demo
level_type = dungeon
level_color = 0
guard_type = guard
guard_hp = 4
cutscene = 0
entry_pose = turning
seamless_exit = -1

[Level 1]
level_type = dungeon
level_color = 0
guard_type = guard
guard_hp = 3
cutscene = 1
entry_pose = falling
seamless_exit = -1

[Level 2]
level_type = dungeon
level_color = 0
guard_type = guard
guard_hp = 3
cutscene = 2
entry_pose = turning
seamless_exit = -1

[Level 3]
level_type = dungeon
level_color = 1
guard_type = skel
guard_hp = 3
cutscene = 3
entry_pose = turning
seamless_exit = -1

[Level 4]
level_type = palace
level_color = 0
guard_type = guard
guard_hp = 3
cutscene = 4
entry_pose = turning
seamless_exit = -1

[Level 5]
level_type = palace
level_color = 0
guard_type = guard
guard_hp = 4
cutscene = 5
entry_pose = turning
seamless_exit = -1

[Level 6]
level_type = palace
level_color = 0
guard_type = fat
guard_hp = 5
cutscene = 6
entry_pose = turning
seamless_exit = -1

[Level 7]
level_type = dungeon
level_color = 1
guard_type = guard
guard_hp = 4
cutscene = 7
entry_pose = turning
seamless_exit = -1

[Level 8]
level_type = dungeon
level_color = 2
guard_type = guard
guard_hp = 4
cutscene = 8
entry_pose = turning
seamless_exit = -1

[Level 9]
level_type = dungeon
level_color = 2
guard_type = guard
guard_hp = 5
cutscene = 9
entry_pose = turning
seamless_exit = -1

[Level 10]
level_type = palace
level_color = 0
guard_type = guard
guard_hp = 5
cutscene = 10
entry_pose = turning
seamless_exit = -1

[Level 11]
level_type = palace
level_color = 0
guard_type = guard
guard_hp = 5
cutscene = 11
entry_pose = turning
seamless_exit = -1

[Level 12]
level_type = dungeon
level_color = 3
guard_type = shadow
guard_hp = 4
cutscene = 12
entry_pose = turning
seamless_exit = 23

[Level 13] ; Jaffar
level_type = dungeon
level_color = 3
guard_type = vizier
guard_hp = 6
cutscene = 13
entry_pose = running
seamless_exit = -1

[Level 14] ; princess
level_type = palace
level_color = 4
guard_type = none
guard_hp = 0
cutscene = 14
entry_pose = turning
seamless_exit = -1

[Level 15] ; potions
level_type = dungeon
level_color = 0
guard_type = none
guard_hp = 0
cutscene = 15
entry_pose = turning
seamless_exit = -1
116 changes: 116 additions & 0 deletions doc/default_skill_options.txt
@@ -0,0 +1,116 @@
; The following customization options can be used for guard skills:
; strikeprob = Probability of striking, from 0 to 255.
; restrikeprob = Probability of re-striking after block, from 0 to 255.
; blockprob = Probability of blocking, from 0 to 255.
; impblockprob = Probability of improper blocking, from 0 to 255.
; advprob = Probability of going into hit range, from 0 to 255.
; refractimer = Refractory period after pain, in frames.
; extrastrength = Extra hit points.

[Skill 0]
strikeprob = 61
restrikeprob = 0
blockprob = 0
impblockprob = 0
advprob = 255
refractimer = 16
extrastrength = 0

[Skill 1]
strikeprob = 100
restrikeprob = 0
blockprob = 150
impblockprob = 61
advprob = 200
refractimer = 16
extrastrength = 0

[Skill 2]
strikeprob = 61
restrikeprob = 0
blockprob = 150
impblockprob = 61
advprob = 200
refractimer = 16
extrastrength = 0

[Skill 3]
strikeprob = 61
restrikeprob = 5
blockprob = 200
impblockprob = 100
advprob = 200
refractimer = 16
extrastrength = 0

[Skill 4]
strikeprob = 61
restrikeprob = 5
blockprob = 200
impblockprob = 100
advprob = 255
refractimer = 8
extrastrength = 1

[Skill 5]
strikeprob = 40
restrikeprob = 175
blockprob = 255
impblockprob = 145
advprob = 255
refractimer = 8
extrastrength = 0

[Skill 6]
strikeprob = 100
restrikeprob = 16
blockprob = 200
impblockprob = 100
advprob = 200
refractimer = 8
extrastrength = 0

[Skill 7]
strikeprob = 220
restrikeprob = 8
blockprob = 250
impblockprob = 250
advprob = 0
refractimer = 8
extrastrength = 0

[Skill 8]
strikeprob = 0
restrikeprob = 0
blockprob = 0
impblockprob = 0
advprob = 0
refractimer = 0
extrastrength = 0

[Skill 9]
strikeprob = 48
restrikeprob = 255
blockprob = 255
impblockprob = 145
advprob = 255
refractimer = 8
extrastrength = 0

[Skill 10] ; a in apoplexy
strikeprob = 32
restrikeprob = 255
blockprob = 255
impblockprob = 255
advprob = 100
refractimer = 0
extrastrength = 0

[Skill 11] ; b in apoplexy
strikeprob = 48
restrikeprob = 150
blockprob = 255
impblockprob = 175
advprob = 100
refractimer = 0
extrastrength = 0
4 changes: 3 additions & 1 deletion src/options.c
Expand Up @@ -79,7 +79,9 @@ int ini_load(const char *filename,
}

NAMES_LIST(level_type_names, {"dungeon", "palace"});
NAMES_LIST(guard_type_names, {"guard", "fat", "skel", "vizier", "shadow"});
//NAMES_LIST(guard_type_names, {"guard", "fat", "skel", "vizier", "shadow"});
// NAMES_LIST must start from 0, so I need KEY_VALUE_LIST if I want to assign a name to -1.
KEY_VALUE_LIST(guard_type_names, {{"none", -1}, {"guard", 0}, {"fat", 1}, {"skel", 2}, {"vizier", 3}, {"shadow", 4}});
NAMES_LIST(tile_type_names, {
"empty", "floor", "spike", "pillar", "gate", // 0..4
"stuck", "closer", "doortop_with_floor", "bigpillar_bottom", "bigpillar_top", // 5..9
Expand Down

0 comments on commit 7a23be8

Please sign in to comment.