Merge branch 'refactor_sacrifices'
authorCorin Buchanan-Howland <corin@buchananhowland.net>
Mon, 27 Oct 2014 20:28:36 +0000 (16:28 -0400)
committerCorin Buchanan-Howland <corin@buchananhowland.net>
Mon, 27 Oct 2014 20:28:36 +0000 (16:28 -0400)
crawl-ref/source/mon-behv.cc
crawl-ref/source/tags.cc

index 0d722c5..c590548 100644 (file)
@@ -1129,6 +1129,10 @@ void behaviour_event(monster* mon, mon_event_type event, const actor *src,
     string msg;
     int src_idx           = src ? src->mindex() : MHITNOT; // AXE ME
 
+    // Monsters know to blame you for reflecting things at them.
+    if (src_idx == YOU_FAULTLESS)
+        src_idx = MHITYOU;
+
     if (is_sanctuary(mon->pos()) && mons_is_fleeing_sanctuary(mon))
     {
         mon->behaviour = BEH_FLEE;
index 03dd14f..70b382d 100644 (file)
@@ -5120,6 +5120,11 @@ void unmarshallMonster(reader &th, monster& m)
     m.god      = static_cast<god_type>(unmarshallByte(th));
     m.attitude = static_cast<mon_attitude_type>(unmarshallByte(th));
     m.foe      = unmarshallShort(th);
+#if TAG_MAJOR_VERSION == 34
+    // In 0.16 alpha we briefly allowed YOU_FAULTLESS as a monster's foe.
+    if (m.foe == YOU_FAULTLESS)
+        m.foe = MHITYOU;
+#endif
     m.foe_memory = unmarshallInt(th);
 
     m.damage_friendly = unmarshallShort(th);