aboutsummaryrefslogtreecommitdiff
path: root/src/magic.cc
diff options
context:
space:
mode:
authorfusion32 <marcopuzziello@gmail.com>2025-07-21 19:23:42 -0300
committerfusion32 <marcopuzziello@gmail.com>2025-07-21 22:49:41 -0300
commite4b8bf807b76f6f446d9617d9a3957dc77dd6e90 (patch)
treef974c51ca7ea111c7e96990e39453ae5dba9a6c5 /src/magic.cc
parent7b9e7dbbcf1d779419be8f22df812ff523a25450 (diff)
downloadgame-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.cc8
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;
}
}