142 Commits

Author SHA1 Message Date
Neo-Silver
6c3b135688 Merge pull request #70 from CarlPoppa1/friendly-mon-fix
Amend monster categorisation
2026-03-03 19:31:19 +01:00
CarlPoppa
1059ee7d3c Add BindDemonUnderling to IsPet check 2026-02-23 09:10:02 +00:00
CarlPoppa
831d004c33 Revert alignment check in Enemies() (doesn't work) 2026-02-21 12:58:18 +00:00
CarlPoppa
ffbc3dc39a Add warlock summons to IsPet 2026-02-21 12:56:35 +00:00
CarlPoppa
619d125378 Amend monster categorisation
Ignore monsters with alignment != 0 (non-hostile)
2026-02-20 22:57:54 +00:00
mihabolil
fa9626f45c Add Tamoe Highland 2026-02-18 21:36:14 +01:00
mihabolil
2325270cb8 Add new terrorized locations
Maggot Lair, Canyon of the Magi, Swampy Pit, Frozen Tundra, Infernal Pit.
2026-02-18 21:36:14 +01:00
Neo-Silver
1b9c78102c Add StackQty As Property
- added the offset for StackQty
- thanks to AMB for providing the Offset
2026-02-17 11:07:32 +01:00
guiyomu-dev
efddf658de fix qty and charges 2026-02-17 00:34:19 +01:00
guiyomu-dev
54526b88cb adjustments 2026-02-16 22:22:47 +01:00
guiyomu-dev
83eb8adf29 more changes 2026-02-16 22:22:47 +01:00
crazywh1t3
f761df957d updates to states and object ids 2026-02-16 22:22:47 +01:00
crazywh1t3
56a0db3e5c Add Warlock as a class.
Add skill names.
2026-02-16 22:22:47 +01:00
guiyomu-dev
50eb39853c remove unecessary code due to bad game update 2026-02-15 00:04:18 +01:00
guiyomu-dev
48aa3aee66 adjustement 2026-02-14 21:10:31 +01:00
guiyomu-dev
285129e47e fix names 2026-02-14 19:33:39 +01:00
guiyomu-dev
c19cbe348c fix skill level 2026-02-14 18:26:58 +01:00
crazywh1t3
211abf01f0 add new location types and enhance inventory structure for shared stash support and DLC support. 2026-02-13 22:28:16 +02:00
guiyomu-dev
828db2029f adjustment 2026-02-13 12:34:48 +01:00
crazywh1t3
52f9079ba1 new txt files and generated .go files
- Implemented a new script to extract item names from items.go and generate a corresponding name.go file with constants and utility functions for name retrieval.
2026-02-12 18:08:28 +02:00
Genqila
4162d16437 feat(npc): add preset unit helper to retrieve npc from 1.13c map data 2026-01-24 09:06:31 +01:00
guiyomu-dev
ec04b2f00d feat(menus): add Cinematic state to OpenMenus struct 2026-01-16 20:46:11 +01:00
Genqila
b510968f7d style: fix codegen formatting and run gofmt after generation 2026-01-15 22:17:32 +01:00
Genqila
762e8f1794 feat(npc): add monstats2 parsing 2026-01-15 21:43:22 +01:00
c6be35b37b add skill metadata 2026-01-14 21:17:50 +01:00
Genqila
cae132c48b feat(npc): expand monster raiser list
Add missing Act 1 and Act 3 shaman variants. Clarify the raiser list to reduce future maintenance errors.
2026-01-11 20:56:45 +01:00
guiyomu-dev
691d8f7e84 fix IsImmune function 2026-01-08 12:54:53 +01:00
Genqila
e55666da2c feat(npc): add boss/uber/seal monster helpers and expand raiser list 2026-01-03 22:44:00 +07:00
Genqila
b194bcc737 feat: expose undead/demon/beast helper directly in Monster instead of npc package for convenience 2025-12-28 04:35:42 +07:00
Genqila
918a5f3d32 feat(npc): expose monstats flags with undead/demon helpers
(cherry picked from commit 52a2eaa082724d36af249114b73558e5b4905a85)
2025-12-28 02:40:53 +07:00
guiyomu-dev
3f559332fc add new key bindings 2025-12-21 09:09:06 +01:00
guiyomu-dev
141306fe1c use data from skills.txt 2025-12-12 14:49:56 +01:00
Polivox
9128520ea9 Fix for staffmod level requirement eval 2025-12-12 14:49:56 +01:00
0e460767ad Refactor IsGoodNPC to improve readability 2025-11-14 20:45:22 +01:00
adpist
51cf7b6a1f Add IsDead function to PlayerUnit (since HPPercent() <= 0 doesn't always mean player is dead due to int rounding error) 2025-11-11 15:16:59 +01:00
CarlPoppa
5504aaf979 Fix quest status reading to use correct statuses 2025-10-20 14:14:23 +01:00
CarlPoppa
28d41070ce Add ping to OnlineGame 2025-10-18 23:03:59 +01:00
guiyomu-dev
c970e6a0fb fix mapping between skills and skilldescs 2025-09-05 18:40:22 +02:00
CarlPoppa
08a12b1967 Fix skilldesc IDs 2025-08-20 22:25:18 +02:00
Arto Simonyan
844439002c Panel Manager Improvements (#85)
* Panel Manager Improvements

- Now maps instead of slices for easy traverse
- Function for easy and safe traverse of paths
- Removed constant updates of Panel Manager to reduce usage. It will now be called on demand.
- Updated some functions to use the new Panel Manager.

* Remove unused struct members

* Added IsDismissalModalPresent (error popup)

* Correct function return for char select screen and dismissal modal

* Add error checking to IsDismissableModalPresent
2025-03-04 08:09:22 +09:00
joffreybesos
4a7e782343 panels (#84) 2025-03-01 22:00:50 +09:00
CarlPoppa1
d2da4b1919 Add BodyLoc1 and BodyLoc2 as an array in item Type struct (#77)
* Added BodyLocs to type struct
To hold array of BodyLoc1 and BodyLoc2 from itemtypes.txt

* Updated itemtype template to import BodyLoc1 and BodyLoc2 as an array

* New generated itemtypes.go with BodyLocs array

* Use LocationType instead of string for BodyLocs

* Added missing ItemTypes declaration

---------

Co-authored-by: CarlPoppa <hilikus99@protonmail.com>
2025-02-28 22:01:13 +09:00
elb
5455fd9772 Fix broken negative stats, update some stat description (#79)
* Fix broken negative stats, update some stat description

* ###

* #2

* curses is necro, frw on armor is velocity percent ( unused)

* Update rules to accept negative value

fix a bug with unique grand charm tz

[name] == grandcharm && [quality] == unique # ([fireresist] + [coldresist] + [lightresist]) >= -75

Single stat rules like [coldresist] >= -75 require the stat to exist

expressions like ([fireresist] + [coldresist] + [lightresist]) >= -75 treat missing stats as 0

Unidentified items with any stat requirements need identification first

* LevelReq + identifiedName added for all Crafted items

* Fix issue with rule.go

* Update stat throw damage and basename: GrandCharm -- Grand Charm

* Adjusting rule for ItemLevelReq  = 0

* update rule again
2025-02-21 18:11:27 +02:00
elb
438f80b911 Added WidgetStates + ActiveWeaponSlot (#62) 2025-02-19 20:15:33 +09:00
davidfvsilva
700af20844 fix: act 5 barbarians are good boys (#75) 2025-02-17 21:07:46 +09:00
elb
120c2ba144 Prefix,Suffix,LevelReq Socketed items on bases, bodyloc, Merc equipment (#74)
* Prefix,Suffix, Socketed with base, bodyloc, Merc equipment

Will add better description later:

Item that has socketed items now display their linked runes/jewels/gems in accurate order

Rare prefix, rare suffix id
Magic prefix1,2,3  magic suffix1,2,3
Prefix1 also used to tell wich runeword it is
Spirit 20635, cta 20519 , infinity 20566 see : getlocalestring.txt

Mercenary equipment now displaying in inventory list . Also has custom location : mercenary instead of equipped

Bodyloc :
	// Body locations
	LocNone              LocationType = "none"
	LocHead              LocationType = "head"
	LocNeck              LocationType = "neck"
	LocTorso             LocationType = "torso"
	LocLeftArm           LocationType = "left_arm"
	LocRightArm          LocationType = "right_arm"
	LocLeftRing          LocationType = "left_ring"
	LocRightRing         LocationType = "right_ring"
	LocBelt              LocationType = "belt"
	LocFeet              LocationType = "feet"
	LocGloves            LocationType = "gloves"
	LocLeftArmSecondary  LocationType = "left_arm_secondary"
	LocRightArmSecondary LocationType = "right_arm_secondary"

	Note that if you begin game on secondary slot it will be left_arm  then primary will be  left_arm_secondary (inversed):  With pr 62 (activeweaponslot) we will be able to solve this potential issue.

* small optimization

* Socketed items to base from pointer

new helper functions.
AutoAffix offset.

* remove helpers fnc, flag isEquipped to HasBeenEquipped

* Runewords names mapped

* helper function not needed

* Optimization

* adjust pre-allocations

* readd removed itemloc comment

* Addex prefix/suffix to rules .nip

new structure:
[Type], [Quality],[Class], [Name], [Flag], [Color], [Prefix], [Suffix]  #  Stats

Exemple : [name] == ring && [quality] == rare && [suffix] == 174 #

Any magic ring with suffix 'of The Apprentice'  ( 10 faster cast rate)

Will be useful for trophy items with fool/cruel  [prefix] == 1416 [prefix] == 1273

* LevelReq + Affixes mapping rare/magic/base/runewords. Nip parser LevelReq

* Unique and set items mapping + LevelReq
2025-02-16 23:02:03 +02:00
Arto Simonyan
09dfe3c65d Add more item flags (#69)
* Add more item flags

- Add more item flags
- Modify some of the stat strings

* fix ethereal

* Rename flag
2025-02-09 01:08:58 +02:00
elb
415ac29ab1 Chat Open menu + additions to IsMenuOpen() (#71) 2025-01-19 18:32:31 +02:00
Arto Simonyan
591fbf1605 Add Stat names (#67)
* Add Stat names

* Return actual stat name with value

* Remove one of the methods
2024-12-30 13:47:02 +02:00
elb
2924189fe8 Added Entrance/Stairs unittype5 table lvlwrap.txt (#64) 2024-12-23 20:06:15 +02:00