Add shrinkability and cursed items

This commit is contained in:
2021-11-18 18:30:22 +00:00
parent 147d6098ab
commit a546d070f0
82 changed files with 273 additions and 233 deletions
+13 -7
View File
@@ -7,12 +7,6 @@ This module contains prototypical data structures.
module Dodge.Default where
import Dodge.Item.Weapon.ExtraEffect
import Dodge.Data
import Dodge.Data.SoundOrigin
import Dodge.Item.Data
import Dodge.Creature.Stance.Data
import Dodge.Creature.State.Data
import Dodge.Creature.Perception.Data
import Dodge.Creature.Memory.Data
import Dodge.SoundLogic
import Dodge.Picture.Layer
import Dodge.Wall.Delete
@@ -50,7 +44,7 @@ defaultCreature = Creature
, _crStance = Stance
{_carriage=Walking 0 WasLeftForward
,_posture=AtEase
,_strideLength = 40
,_strideLength = yourDefaultStrideLength
}
, _crVocalization = Mute
, _crActionPlan = ActionPlan [] [] WatchAndWait [LiveLongAndProsper]
@@ -68,6 +62,9 @@ defaultCreatureMemory = MemoryState
{ _soundsToInvestigate = []
}
defaultInvSize :: Int
defaultInvSize = 20
defaultPerceptionState :: PerceptionState
defaultPerceptionState = PerceptionState
{ _crAwakeLevel = Lethargic
@@ -118,6 +115,12 @@ defaultAimMvType = AimMvType
defaultAimingCrit :: Creature
defaultAimingCrit = defaultCreature { _crMvType = defaultAimMvType }
yourDefaultSpeed :: Float
yourDefaultSpeed = 4
yourDefaultStrideLength :: Int
yourDefaultStrideLength = 40
defaultState :: CreatureState
defaultState = CrSt
{ _crDamage = []
@@ -128,6 +131,7 @@ defaultState = CrSt
defaultEquipment :: Item
defaultEquipment = Equipment
{ _itIdentity = Generic
, _itCurseStatus = Uncursed
, _itName = "genericEquipment"
, _itFloorPict = \_ -> (,) emptySH $ setLayer 0 $ onLayer FlItLayer $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
, _itEquipPict = \_ _ -> (,) emptySH blank
@@ -147,6 +151,7 @@ defaultItZoom = ItZoom 20 0.2 1
defaultConsumable :: Item
defaultConsumable = Consumable
{ _itIdentity = Generic
, _itCurseStatus = Uncursed
, _itName = "genericConsumable"
, _itMaxStack = 9
, _itAmount = 1
@@ -194,6 +199,7 @@ defaultFlIt = FlIt {_flItRot=0,_flIt = defaultIt, _flItPos = V2 0 0, _flItID = 0
defaultIt :: Item
defaultIt = Consumable
{ _itIdentity = Medkit25
, _itCurseStatus = Uncursed
, _itName = "defaultIt"
, _itMaxStack = 3
, _itAmount = 2