From a3d220b631d264f4950f17057e60d8908f0783a2 Mon Sep 17 00:00:00 2001 From: Griffin Smith Date: Thu, 25 Nov 2021 09:53:56 -0500 Subject: feat(gs/xanthous): Creatures use their weapons to attack If a creature has a weapon wielded, then they now use that weapon to attack the player *instead of* their natural attacks. This uses a new `creatureAttackMessage` field on the Item raw for the message to use. Change-Id: I73614f33dbf88dd4c68081f15710fa27b7b21ba2 --- users/grfn/xanthous/src/Xanthous/Entities/RawTypes.hs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'users/grfn/xanthous/src/Xanthous/Entities/RawTypes.hs') diff --git a/users/grfn/xanthous/src/Xanthous/Entities/RawTypes.hs b/users/grfn/xanthous/src/Xanthous/Entities/RawTypes.hs index 8453a05336..9f5cabecdc 100644 --- a/users/grfn/xanthous/src/Xanthous/Entities/RawTypes.hs +++ b/users/grfn/xanthous/src/Xanthous/Entities/RawTypes.hs @@ -34,6 +34,7 @@ module Xanthous.Entities.RawTypes , HasAttacks(..) , HasChance(..) , HasChar(..) + , HasCreatureAttackMessage(..) , HasDamage(..) , HasDensity(..) , HasDescription(..) @@ -200,6 +201,17 @@ makeFieldsNoPrefix ''EdibleItem data WieldableItem = WieldableItem { _damage :: !Hitpoints , _attackMessage :: !(Maybe Message) + -- | Message to use when a creature is using this item to attack the + -- character. + -- + -- Grammatically, should be of the form "The creature slashes you with its + -- dagger". + -- + -- = Parameters + -- + -- [@creature@ (type: 'Creature')] The creature doing the attacking + -- [@item@ (type: 'Item')] The item itself + , _creatureAttackMessage :: !(Maybe Message) } deriving stock (Show, Eq, Ord, Generic) deriving anyclass (NFData, CoArbitrary, Function) -- cgit 1.4.1