diff options
| author | fusion32 <marcopuzziello@gmail.com> | 2025-07-21 19:23:42 -0300 |
|---|---|---|
| committer | fusion32 <marcopuzziello@gmail.com> | 2025-07-21 22:49:41 -0300 |
| commit | e4b8bf807b76f6f446d9617d9a3957dc77dd6e90 (patch) | |
| tree | f974c51ca7ea111c7e96990e39453ae5dba9a6c5 /src/magic.cc | |
| parent | 7b9e7dbbcf1d779419be8f22df812ff523a25450 (diff) | |
| download | game-e4b8bf807b76f6f446d9617d9a3957dc77dd6e90.tar.gz game-e4b8bf807b76f6f446d9617d9a3957dc77dd6e90.zip | |
multiple bug-fixes and improvements
- Make uint32 -> Object conversion explicit. This can be more
verbose but will get a lot of small mistakes, especially with
function overloads.
- Fix problem with the path finder not including the last step
when `MustReach` was false.
- Fix problem with NPC conditions.
- Fix problem with monster homes continuously spawning monsters.
- Fix problem with creating the standard inventory.
- Fix problem with creature timers (IMPORTANT).
- Fix problem with `ThrowPossible` (IMPORTANT).
- Fix problem with rune casting.
- Fix problem with executing moveuse events.
- Fix problem with `MoveRel` and `WriteName` moveuse actions.
- Fix problem with eating food deleting the whole stack.
- Many other bug-fixes and improvements.
Diffstat (limited to 'src/magic.cc')
| -rw-r--r-- | src/magic.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/magic.cc b/src/magic.cc index 0f36bee..a47c730 100644 --- a/src/magic.cc +++ b/src/magic.cc @@ -814,7 +814,7 @@ void MassCombat(TCreature *Actor, Object Target, int ManaPoints, int SoulPoints, throw ERROR; } - if(Actor != NULL){ + if(Actor == NULL){ error("MassCombat: Übergebene Kreatur existiert nicht.\n"); throw ERROR; } @@ -4060,8 +4060,8 @@ void UseMagicItem(uint32 CreatureID, Object Obj, Object Dest){ if(Other.getObjectType().isCreatureContainer()){ uint32 OtherID = Other.getCreatureID(); if(Target == NULL - || (Aggressive && OtherID != Actor->ID) - || (!Aggressive && OtherID == Actor->ID)){ + || (Aggressive && OtherID != Actor->ID && OtherID != Target->ID) + || (!Aggressive && OtherID == Actor->ID && OtherID != Target->ID)){ Target = GetCreature(OtherID); Dest = Other; } @@ -4086,7 +4086,7 @@ void UseMagicItem(uint32 CreatureID, Object Obj, Object Dest){ throw PROTECTIONZONE; } - if(Dest.getContainer().getObjectType().isMapContainer()){ + if(!Dest.getContainer().getObjectType().isMapContainer()){ throw NOROOM; } } |
