"""Anti-magic trap: drains your magical energy away. Copyright 2001 Cabochon Technologies, Inc. Author: Steve Yegge """ from wyvern.lib.classes.traps import AbstractTrap from wyvern.lib import Monster, Player, Range class anti_magic_trap(AbstractTrap): def initialize(self): self.super__initialize() self.setDefaultCategory("traps") self.setDefaultBitmap("rune_blue") self.setProperty('short', 'anti-magic trap') self.addProperty("nopickup") self.setWeight("10 lb") def steppedOn(self, monster): self.reveal(monster) monster.message("You feel your magical energy drain away!") if not isinstance(monster, Monster): return sp = monster.getIntProperty("sp") if sp == 0: return drain = Range.randomValue(1, sp) if isinstance(monster, Player): monster.adjustSP(-drain) else: monster.adjustIntProperty('sp', -drain) def toString(self, *args): if len(args) > 0: return self.super__toString(args[0]) else: return 'anti-magic trap' |