Skip to content

Commit

Permalink
Merge branch 'master' into development
Browse files Browse the repository at this point in the history
  • Loading branch information
met0rii committed Apr 13, 2024
2 parents 8f23245 + 17f0578 commit 58f575f
Show file tree
Hide file tree
Showing 120 changed files with 4,000 additions and 646 deletions.
192 changes: 174 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,28 @@
# zUtilities

This is a simple plugin made in [Union](https://worldofplayers.ru/threads/40376/) **1.0l** for Gothic 1 and 2.
This is a plugin with a set of many quality-of-life and utility features made for [Union](https://worldofplayers.ru/threads/40376/) **1.0m** for Gothic 1 and 2 games. Plugin can also be found on [Steam Workshop](https://steamcommunity.com/sharedfiles/filedetails/?id=2792434617).

### Features

- Allows to quickly save / load game with `F10` and `F12` keys.
> Plugin options can be changed in `gothic.ini`.
> Some of the options can also be changed via ingame menu. (Requires Union 1.0m or higher.)
- Quickly save / load game with `F10` and `F12` keys.

- Shortcuts can be changed with `KeyQuickSave` and `KeyQuickLoad` options. A full list of available keys to choose from is [there](https://github.com/Franisz/zUtilities/blob/master/zUtilities/KeyCode.h).
- Range of save slots used for quick save can be adjusted in `gothic.ini` with `MinSaveSlot`, `MaxSaveSlot` options. Default, it's 6 bottom slots.
- Notice strings are set automatically depending on system language but still can be changed manually in `gothic.ini` with `CantSave`, `CantLoad` and `NoSave` options.
- This feature can be disabled in `gothic.ini` with `UseQuickSave` option.
- This feature can be disabled in `gothic.ini` with `QuickSaveMode` option.
- Change `QuickSaveMode` option for different style or disable: `0` - _Disabled_, `1` - _Standard_, `2` - _Alternative_.

- Changes name color of focused npcs, containers, doors and items.

- Npcs: `Red` - hostile / wants to kill you, `Orange` - angry / pissed off, `Cyan` - partymember, `Green` - friendly, `Slightly green` - friendly guild, `White` - neutral / dead, `Grey` - dead and looted.
- Doors: `Red` - locked on key, `Orange` - locked, `White` - open.
- Containers: `Red` - locked on key, `Orange` - locked, `Green` - open with items, `Grey` - open and empty.
- Lockables: `Red` - locked on key, `Orange` - locked, `Light red` - can be opened with a key or lockpick, `Green` - open with items, `Grey` - permanently closed or opened and empty.
- Items: `White` - default / item can be taken, `Slightly orange` - someone will catch the hero stealing.
- Each group can be disabled separately in `gothic.ini` with `ColorNpcs`, `ColorChests`, `ColorDoors` and `ColorItems` options.
- Intractable book stands: `Green` - unread, `White` - default / read.
- Each group can be disabled separately in `gothic.ini` with `ColorNpcs`, `ColorLockables`, `ColorItems` and `ColorInter` options.

- Renders the selected inventory item in the center of the screen instead of in the item description box.

Expand All @@ -39,14 +45,88 @@ This is a simple plugin made in [Union](https://worldofplayers.ru/threads/40376/
- This feature is inspired by [New World](https://www.newworld.com/)'s damage label and based on [AlterDamage](https://github.com/UnresolvedExternal/Union_AlterDamage) popup code.
- Set `DamagePopupMode` option to `1` for _Alter Damage_ style, `2` for _New World_ style and `0` to disable this feature completely.
- Popup scale depends on the amount of damage dealt compared to the target's max hp, the fact if the hit was critical or not and `Scale` option from `SystemPack.ini`. Base scale can also be adjusted in `gothic.ini` with `DamagePopupScale`.
- Icons and base colors are unique for every damage type and each can be separately disabled in `gothic.ini` with `DamagePopupShowIcons` and,`DamagePopupColorDmgTypes`options.
- Icons and base colors are unique for every damage type and each can be separately disabled in `gothic.ini` with `DamagePopupShowIcons` and, `DamagePopupColorDmgTypes` options.
- By default the number has the same color as the icon, but it can be disabled in `gothic.ini` with `DamagePopupColorOnlyIcon` option.

- Adds few features for status bars.

- Focused npc hp bar is displayed right above his name. This can be disabled with `ShowEnemyBarAboveHim` option.
- Added option to show numeric values of status bars. Change `StatusBarValueMode` option for different style or disable: `0` - _Disabled_, `1` - _Above_, `2` - _PointToCenter_, `3` - _Inside_. By default, option to show value above bar is active.
- Optionally, text labels can be set to be displayed right next to the bar value. Set `StatusBarNames` like so: `Health|Mana|Stamina`. Leave empty and no text will appear.
- Health, mana and swim status bars position can be changed with `HealthBarPos`, `ManaBarPos` and `SwimBarPos` options.
- Four positions need to be defined in a form `x1|y1|x2|y2` that reflects a virtual position in `0|0|8192|8192` scope.
- Default health bar position for systempack `Scale=1` is: `43|7873|1122|8085` and for `Scale=0`: `43|7964|811|8116`
- Default mana bar position for systempack `Scale=1` is: `7053|7873|8132|8085` and for `Scale=0`: `7381|7964|8149|8116`
- Default swim bar position for systempack `Scale=1` is: `3556|7873|4635|8085` and for `Scale=0`: `3712|7964|4480|8116`
- Leave options empty to use default positions.

- Allows to change world speed multiplier.

- This feature is completely disabled by default and can be enabled with `UseTimeMultiplier` option.
- Time multipliers can be changed with `TimeMultipliers` option like so: `0.65|1.0|2.7|3.5`.
- World speed will cycle in the order of set multipliers after pressing `Z`. Shortcut can also be changed with `KeyTimeMultiplier` option.
- Currently used multiplier will be shown next to the time icon.

- Displays protection icon and value next to the focused npc hp bar.

- This feature can be disabled in `gothic.ini` with `ShowTargetProtection` option.

- Displays coin icon next to the focused npc name if player can pickpocket him.

- This feature can be disabled in `gothic.ini` with `ShowPickpocketIcon` option.
- Works in G2/G2A only.

- Changes color of log entry titles in player's log book.

- New log entries will appear green and updated ones will be orange.
- This feature can be disabled in `gothic.ini` with `LogBookColoring` option.

- Allows to change color of selected text line in dialogues with `SelectedDialogueColor` option.

- Enter any color in `R|G|B` or `R|G|B|A` format, e.g.: `30|200|60|255`
- Leave option empty to keep using default color.

- Allows to use alternative way of opening locks with lockpicks.

- Essentially, the combination doesn't reset after fail. The player can keep going forward without the need to reenter the already discovered combination over again after every fail.
- This is disabled by default and can be enabled with `RememberLockCombination` option.

- Allows to display current in game time.

- This is disabled by default and can be enabled with `ShowGameTime` option.

- Allows to display currently used munition amount.

- This is disabled by default and can be enabled with `ShowMunitionAmount` option.

- Allows killing meatbugs by stepping on them.

- This feature can be disabled in `gothic.ini` with `TrampleMeatbugs` option.

- Allows to check currently used plugin version through in game console with `zutilities version` command.
- Highlights munition used by currently equipped ranged weapon.

- This feature can be disabled in `gothic.ini` with `ActivateUsedMunition` option.

- Displays on the status bars how much hovered item will heal.

- Heal value is based on the `count` value of the item associated with the `text` that is equal to the original recovery string variables `NAME_BONUS_HP` and `NAME_BONUS_MANA`.
- This feature can be disabled in `gothic.ini` with `RecoveryVisualization` option.

- Allows to use alternative dialogue boxes when talking.

- This is disabled by default and can be enabled with `AlternativeDialogueBoxes` option.

- Display debug info data about focused vob or selected in the inventory item.

- Use `zutilities debug` command to toggle on/off.

- Insert all items into inventory with `zutilities giveallitems` command.

- Check currently used plugin version through in game console with `zutilities version` command.

- Reminds the player to save the game by displaying an icon with a timer after playing without saving the game for too long.
- By default, it reminds the player after 5 minutes since the last save game. It can be changed in `gothic.ini` with `SaveReminder` option.
- It can be turned off by setting `SaveReminder` to `-1`

### Options

Expand All @@ -61,8 +141,84 @@ TrampleMeatbugs=1
CenterInvItems=1
; ... enables (1) or disables (0) inventory item rendering in the center of the screen instead of the item description box

UseQuickSave=1
; ... enables (1) or disables (0) QuickSaving with [F10] and QuickLoading with [F12]
RememberLockCombination=0
; ... enables (1) or disables (0) alternative way of opening locks, where discovered combination doesn't reset after fail

ActivateUsedMunition=1
; ... enables (1) or disables (0) highlighting currently used ranged weapon munition in the inventory

AlternativeDialogueBoxes=0
; ... enables (1) or disables (0) alternative dialogue boxes style

SelectedDialogueColor=
; ... defines color of selected line in dialogues
; ... use 'R|G|B' or 'R|G|B|A' format
; ... leave empty to use default color

LogBookColoring=1
; ... enables (1) or disables (0) coloring of new and unread topics in logbook

ShowGameTime=0
; ... enables (1) or disables (0) on screen display of in game time

ShowMunitionAmount=0
; ... enables (1) or disables (0) on screen display of currently used munition amount

ShowTargetProtection=1
; ... enables (1) or disables (0) protection icon and value next to the focused npc hp bar

ShowPickpocketIcon=1
; ... enables (1) or disables (0) coin icon next to the focused npc name when it can be pickpocketed

UseTimeMultiplier=0
; ... enables (1) or disables (0) time speed multiplier

KeyTimeMultiplier=KEY_Z
; ... key for cycling time speed

TimeMultipliers=1.0|2.5
; ... defines time multipliers

SaveReminder=5
; ... Time in minutes after which the reminder to save the game appears on the screen
; ... set to -1 to disable

RecoveryVisualization=1
; ... enables (1) or disables (0) visualization of healing that hovered in the inventory item gives

StatusBarValueMode=1
; ... specifies mode of showing status bar value, (0) - 'Disabled', (1) - 'Above', (2) - 'PointToCenter', (3) - 'Inside'

ShowEnemyBarAboveHim=1
; ... enables (1) or disables (0) showing enemy hp bar above his head

StatusBarNames=
; ... defines text label for status bars like so: 'Health|Mana|Stamina', leave empty if text is unwanted

HealthBarPos=
; ... defines position of health bar like so: 'x1|y1|x2|y2'
; ... default position for scale 1 is: '43|7873|1122|8085' and for scale 0: '43|7964|811|8116'
; ... leave empty to use default position

ManaBarPos=
; ... defines position of mana bar like so: 'x1|y1|x2|y2'
; ... default position for scale 1 is: '7053|7873|8132|8085' and for scale 0: '7381|7964|8149|8116'
; ... leave empty to use default position

SwimBarPos=
; ... defines position of swim bar like so: 'x1|y1|x2|y2'
; ... default position for scale 1 is: '3556|7873|4635|8085' and for scale 0: '3712|7964|4480|8116'
; ... leave empty to use default position

QuickSaveMode=1
; ... specifies QuickSave mode, (0) - 'Disabled', (1) - 'Standard', (2) - 'Alternative'
; ... QuickSave with [F10] and QuickLoad with [F12]

KeyQuickSave=KEY_F10
; ... key for QuickSave

KeyQuickLoad=KEY_F12
; ... key for QuickLoad

MinSaveSlot=15
; ... defines min range of used save slots
Expand All @@ -83,16 +239,16 @@ SaveName=QuickSave
; ... name used for quicksaves

ColorNpcs=1
; ... enables (1) or disables (0) coloring of focused Npcs

ColorChests=1
; ... enables (1) or disables (0) coloring of focused Chests
; ... enables (1) or disables (0) coloring of focused npcs

ColorDoors=1
; ... enables (1) or disables (0) coloring of focused Doors
ColorLockables=1
; ... enables (1) or disables (0) coloring of focused chests, doors and other lockables

ColorItems=1
; ... enables (1) or disables (0) coloring of focused Items
; ... enables (1) or disables (0) coloring of focused items

ColorInter=1
; ... enables (1) or disables (0) coloring of interactive bookstands

LabelItems=1
; ... enables (1) or disables (0) inventory item labeling
Expand All @@ -107,7 +263,7 @@ PutLabelBehind=0
; ... specifies if the label should be rendered behind the item

DamagePopupMode=1
; ... specifies DamagePopup mode, (0) - Disabled, (1) - 'Alter Damage', (2) - 'New World'
; ... specifies DamagePopup mode, (0) - 'Disabled', (1) - 'Alter Damage', (2) - 'New World'

DamagePopupScale=1.10000002
; ... defines base scale of the popup
Expand Down
Binary file removed _WORK/DATA/TEXTURES/_COMPILED/LABEL_VALUABLES-C.TEX
Binary file not shown.
Loading

0 comments on commit 58f575f

Please sign in to comment.