/// <summary> /// Locks place and creates and returns a key for it. /// </summary> /// <param name="place"></param> /// <param name="keyName"></param> /// <returns></returns> public Item LockPlace(PuzzlePlace place, string keyName) { if (!place.IsLock) { throw new PuzzleException("Tried to lock a place that isn't a Lock"); } var doorName = place.GetLockDoor().Name; Item key; if (place.IsBossLock) { key = Item.CreateKey(70030, doorName); // Boss Room Key key.Info.Color1 = 0xFF0000; // Red } else { key = Item.CreateKey(70029, doorName); // Dungeon Room Key key.Info.Color1 = place.LockColor; } place.LockPlace(key); this.Keys[keyName] = key; return(key); }
/// <summary> /// Locks place without a key. /// </summary> /// <param name="place"></param> /// <returns></returns> public void LockPlace(PuzzlePlace place) { if (!place.IsLock) { throw new PuzzleException("Tried to lock a place that isn't a Lock"); } place.LockPlace(); }
/// <summary> /// Locks place without a key. /// </summary> /// <param name="place"></param> /// <returns></returns> public void LockPlace(PuzzlePlace place) { if (!place.IsLock) throw new PuzzleException("Tried to lock a place that isn't a Lock"); place.LockPlace(); }
/// <summary> /// Locks place and creates and returns a key for it. /// </summary> /// <param name="place"></param> /// <param name="keyName"></param> /// <returns></returns> public Item LockPlace(PuzzlePlace place, string keyName) { if (!place.IsLock) throw new PuzzleException("Tried to lock a place that isn't a Lock"); var doorName = place.GetLockDoor().Name; Item key; if (place.IsBossLock) key = Item.CreateKey(70030, 0xFF0000, doorName); // Boss Room Key else key = Item.CreateKey(70029, place.LockColor, doorName); // Dungeon Room Key place.LockPlace(key); this.Keys[keyName] = key; return key; }