[Creature]
# Class className creatureJob meshName bedMeshName bedDim1 bedDim2 scaleX scaleY scaleZ hp/level mana/level maxHP maxMana sightRadius digRate danceRate moveSpeed TilePassability
Class Wyvern WeakFighter Wyvern.mesh Bed 2 2 0.35 0.35 0.35 2 2 60 60 15 0 0 1.5 flyableTile
# SpawnCondition Room <RoomName> <Active spots needed to spawn>
SpawnCondition Room Library 3
# SpawnCondition Weapon <WeaponName>
SpawnCondition Weapon Shield
# SpawnCondition Creature <CreatureName> <YES/NO> (YES, must be owned by player, NO: Must not be owned by player)
SpawnCondition Creature Dwarf1 NO
SpawnCondition Creature PitDemon YES
[/Creature]
...
its just that i would prefer having the rooms fully reworked before moving to something else and leaving half finished work.
But its not something to be overabused, it can get boring having to babysit creatures just to get another one, the idea is that all of them are expendable.
I like the creatures synergy, but not the exclusion. If two creatures dont like their species it should just be a minus to their total mood, so if conditions in the dungeon decrease overall (no money, no food...) they will be more prone to go rogue on the spot.
[Creature]
[Stats]
# <className> <creatureJob> <meshName> <bedMeshName> <bedDim1> <bedDim2> <scaleX> <scaleY> <scaleZ> <hp/level> <mana/level> <maxHP> <maxMana> <sightRadius> <digRate> <danceRate> <moveSpeed> <TilePassability>
Wyvern WeakFighter Wyvern.mesh Bed 2 2 0.35 0.35 0.35 2 2 60 60 15 0 0 1.5 flyableTile
# Note: ^ will have to be added:
# initial attack, initial defence, initial Magical Attack, initial magical def, initial level
# atk / level, def /level, MAtk / level, MDef / level, max level
# starting-equipment name <-- To be taken from an equipment list in a config file.
# Water and lava tile walkability has to be added separately (keeping the flyable tile for flying creatures)
# Note bis:
# A new material parameter will have to added, so we can easily override the material name used for the creature.
[/Stats]
# MP will be dropped in favour of a Skill parameter with a skill name taken from a config file listing their effects.
# Here will be listed the creature's skills and its own cooldowns.
[Skills]
# <Skill name> <Cool down in milliseconds>
FireBall 8000
Heal 25000
[/Skills]
[SpawnConditions]
# Room: <RoomName> <Active spots needed to spawn>
Room: Library 3
Room: TrainingHall 1
# Weapon: <WeaponName>
Weapon: Shield
#Gold: <Minimum gold to attract>
Gold: 5000
# Creature: <CreatureName> <Mood modifier>
CreatureMood: Dwarf1 -5
CreatureMood: PitDemon 10
# GoldMood: <Minimum Gold to not apply> <Mood modifier>
GoldMood: 1000 -5
[/SpawnConditions]
[/Creature]
I like that mood system bertram
Yep, the format seems good.
Nice , the resize will have to wait until i return home; btw is the carpet reflecting ligth?
Also, its imposible to change sizes of room objects incode?
should i recenter the wall models to make them closer to the wall?
Both createMesh and numOpenCreatureSlots seems pretty generic, why aren’t they in Room class? The only specific things are the name of the central mesh and the name of the wall mesh which should be class static attributes (or at least attributes if we later want room instances to change object meshes in some cases). A class which does not use such meshes will just let them empty.
Code about the 4 directions repeat itself, we should have a left/up/right/down enum and have a vector of 4 for each wall related stuff.
Ok, the more I think about this and the more I think the best solution seems to be having a vector of room types containing a struct with informations like price, meshes, name, …
And that makes me think, maybe it’s time to make use of this script engine. Instead of having a C++ class for each room we use files which describes the room properties and a file script which contains the room main behaviour. That would allow to easily mod the game by adding or modifying rooms.
Users browsing this forum: No registered users and 0 guests