Properties of creatures

Discuss the IceBlink Engine

Properties of creatures

Postby youngneil1 » Tue Jan 22, 2013 7:47 pm

Alright, this will be a brain storm about possible properties of creatures (I will likely add some stuff as it comes to my mind; this will be a long list I fear) - all ideas below are of course just proposals and many of them simply repeat what's already in or coming in soon with next alpha and the inheritance from the PCBaseClass:

Introduction
- All things considered as determined automatically/by default can be manually changed; these are just the initial template values
- Some fields can be turned on/off via check box (they are not be needed for some creatures)
- Some fields contain submenus/drop downs
- Some fields, including their drop downs, can be cloned, to be used several times; a box checks the wanted numnber of clones; clones are counted and numbered accordingly
- Though creatures might carry weapons (well, as loot or graphic) and also have attribute stats (see below, for seldom direct checks), I would find it the most simplest and intuitive way to have the direct values below override all such indirect calculations; e.g. if damage below is given with d8, it doesn't matter if the creature onyl has a d6 shortsword; if damage bonus below is +3, it does't matter if the creature has STR 20)

1. CreatureCategoryName [default: default]

2. CreatureName [default: default]

3. CreatureTag [must be unique] [labeled automatically to something unique by checking existing tags and counting]

4. CreatureLevel [an indicator of creature power; measured as a creature posing a medium challenge for a character of the same level; various skills and spells and scripts might make use of this] [default: 1]

5. CreatureDescription [Enter free text here] [default: default]

6. CreatureLoreSkillDiffcultyNumber [the difficulty number against which a CreatureLoreSkill check is rolled to unveil details of the creature; the script for the the CreatureLoreSkill will determine which degree of succes unveils which extra information, like e.g. AC, Attacks, damage per attack, description ,etc.] [default: 10]

7. NameOfCreatureComponent1 [drop down] [option for more creature components1...N] [each contains lots of sub fields] [can be turned on/off; starts off] [when on - default: default]
a. TagOfThisComponent [must be unique] [labeled automatically to something unqiue by checking existing tags and counting]
b. AmountOfThisComponent [number of pieces for component1; like "3", if CreatureComponent1 is "Tiger Tooth", the player migth find 3 tiger teeth after killing the creature]
c. BeastHunterSkillDifficultyNumberForThisComponent [the difficulty number against which a BeastHunterSkill check is rolled to successfully find and sever this component from the creature; BeastHunterSkill will determine which degree of success is needed to gain more than one piece of this component, if AmountOfThisComponent is greater 1]

8. CreatureAC [default: 10]

9. CreatureDamageReduction[default: 0]

10. CreatureACTouch [default: 10]

11. CreatureACFlatFooted [default: 10]

12. CreatureHP [default: 10]

13. CreatureSP [default: 10]

14. CreatureAIPackage [default: StandardMelee; Note: Creature active special abilities - outside normal attacks - and spells will be part of the assigned AI package; AI package will access other values like Creature SP to check if spellcasting or ability usage is still possible]

15. CreatureMoveDistance [default: 6]

16. CreatureInitiative [default: 0]

17. CreatureFortSave [default: 0]

18. CreatureRefSave [default: 0]

19. CreatureWillSave [default: 0]

20. CreatureXP [default: 50]

21. CreatureStatus [little unclear here, from current toolset: creature might have several of these actually, like burning, posisoned, slowed, all at the same time? Looks more like something dynamic and nothing assigend at creature creation?]

22. NameOfCreatureAttack1 [drop down] [option for more creature attacks1...N] [each contains three sub fields] [default: default]
a. TagOfThisAttack [must be unique] [labeled automatically to something unqiue by checking existing tags and counting]
b. RangeOfThisAttack [Default: 1]
c. RadiusAroundTargetSquareAffectedByThisAttack [Deafult: 0]
[Note: one might implement other shapes of affected fields here, like e.g. a straight line of three fields; perhaps some kind of free definiton relative to square the attacker is on?]
d. TypeOfThisAttack [Default: normal; others e.g. "fire", "ice", "acid", "magic+2", "silver" etc.; best to do an array of strings to assign e.g. fire and magic+2 at the same time, so such an attack woudl hit creatures only woundable by magical weapons and would do extra damge against inflamable ones, both properties would be checked against by scripts of the hit creature in her ScriptHookforCreatureHPDamagedByPlayer, see below]
e. SaveAllowedAgainstAttack [Default: no; other values: full, half]
f. TypeOfSaveAgainstAttack [Default: Ref; other values: Fort, Will]
g. DifficultyNumberForSave [Deafult: 10]
h. ToHitBonusOfThisAttack [Default:0]
i. DamageDieOfThisAttack [Default: 4]
j. DamageBonusToThisAttack [Default: 0]
k. SpecialEffectAfflictedbyAttack [Default: none; might be keywords like "poison", "burning", "stoned", etc; engine would have to trigger according scripts then; custom script hook would be nice here to trigger own on-hit-of-this-attack scripts; note: you might also integrate letters l. to o. below into this script and have e.g. different posion scripts, matter of taste I guess]
l. StrengthOfAfflictedSpecialEffect [Default: 0; a number the script connceted with the effect could use to detemine the strength, e.g. damage caused]
m. DurationOfAfflictedSpecialEffect [Default: 0; number of rounds the special effect lasts]
n. SavingTypeRequiredToPreventSpecialEffect [Default: Will; other: fort, Will]
o. SavngThrowNumberRequiredToPreventSpecialEffect [Default: 10]
p. SPCostOfAttack [default:0] [When Stamina Points are not high enough anymore to cover the cost, this attack cannot be executed anymore]
q. IsTouchAttack [default: no; other: yes; touch attacks use CreatureACTouch instead of normal attacks, ignoring physcial armor]
r. AdditionalDamageFromBehindNumberOfD6 [Deafult: 0; other: number of d6 extra damage when creature attacks the back of a character [7,8,9 on numpad]
s. ChanceThatAttackIsTriggered [default: 100; some especially nasty attacks might happen onyl once in a while]
t. MinRoundsSinceLastTriggerOfAttack [default:0; soem attacks might only be possible ever yten rounds or so]
u. ConditionalGlobalSetTo1forAttack [deafult: none; other: name of GloabalVariable; Some attacks might only get avaiable if a certain GlobalVariable is set to 1; imagine a boss oppponemt who only when really bady wounded, see ScriptHooks below, sets Enraged to 1 and then gets much more dangerous (extra) attacks]
v. ConditionalGlobalSetTo1forNoAttack [deafult: none; other: name of GloabalVariable; some attacks might get turned off if a certain GlobalVariable is set to 1]
w. CausesFriendlyFire [default: yes; most pyhsical area attacks will harm allies in their area of effect, too]
x. UseAttackInMelee [default: yes; some ranged attacks might better not be used in melee due to Attacks of Opportunity, see below; so - a creature with bow and dagger would - depending on AI package - stay at distance, using only the attack allowed with longer range; when cornered by PCs in melee, it would then only use its dagger attack as the bow attack would be excluded here]
y. AttackTriggersAOOWhenUsedInMelee [deafult: no; usually only ranged attacks in melee trigger attacks of opportunity]
z. IngoreDamageAbsorbtion [default: 0; the number placed here defines how much damage absorption points are ignored by attack, palcing something like 100 here will ignore all reasonable damage absorbtion]
z1. CriticalHitRoll [default: 20; number defines the natural d20roll neccessary to check for critical hit]
z2. CriticalHitDamageMultiplier [default: 2; damage multiplier on critical hit]
z3. IconForProjectile [default: Arrow]
z4. GraphicEffectOnFieldsAffected [default: none; might be nice later on to display e.g. some fireball effect]

[Note: A.I. script might override that all attacks are done automatically and chooose bewteen different attacks depdending on the situation; the options are soemthing like a little AI wizard options for dealing with standard setups of attacks]

23. ScriptHookforCreatureHPLowerThan [might be turned on/off - starts off] [option for more creature components1...N] [Drop down menu] [name of the script to trigger] [Examples: shapeshift to true form; explode with area damage]
a. HPThesholdForScriptToTrigger [default: 0, which would mean on death; can of course be higher; note: this woudl mean reaching the value assigned or a lower one while dropping from a current value above it]

24. ScriptHookforCreatureHPDamagedByPlayer [might be turned on/off - starts off] [option for more creature components1...N] [name of the script to trigger] [Examples: Immunity to damage and special damage reductions; reflect part of damage back on player; Vulnreabilities like inflamable]

25. ScriptHookforCreatureEveryRound [might be turned on/off - starts off] [option for more creature components1...N] [name of the script to trigger] [will be checked for at the begin of the creature's turn] [Examples: Regeneration of 2 HP per round; Fire shield - afflict fire damage on all oppoents within two 2 squares around it...]

26. ScriptHookforGlobalVariable [might be turned on/off - starts off] [option for more scripts to trigger here 1...N] [Drop down menu] [name of the script to trigger] [will be checked for at the begin of the creature's turn] [Examples: another creature does an action that raises a GlobalVariable to a certain value - this triggers behaviour with this creature: the creatures "communicate"; example: On death of leader, the dying leader sets BlueGnollLeaderDead to 1; this is checked here and causes all Gnolls to get -2 on their attacks, being demoralized]
a. NameOfGlobalVariable [default: default]
b. ThresholdValueOfGlobalVariable [default:1]

[Note: There have to be some override/interaction rules between this script triggers and creature A.I packages above, I guess]

27. CreatureWayOfMoving [deafult: walk; might e.g. be "fly" or even "teleport"; pahtfinding engine would need to check for this]

28. FreeTagList [might be turned on/off - starts off; this could be a string array containg simple keyword associated with the creature thats scripts coulf search through: e.g. "undead": a cleric's turn undead script might find that and do something accordingly]

29. CreaturePerception ]deafult: 0; this is rolled against the StealthSkill check of sneaking characters; hint: many eyed crearures might be good here :-)]

30. CreatureSTR [Deafult: 10]

31. CreatureDEX [Deafult: 10]

32. CreatureCON [Deafult: 10]

33. CreatureINT [Deafult: 10]

34. CreatureWIS [Deafult: 10]

35. CreatureCHA [Deafult: 10]

36. AttacksOfOpportunityAllowedOnCreature [deafult: yes; other: no; there might be creatures that can pass freely through controlled zones, nasty line breakers;-)]

37. CreatureMaxHP [Default: 10; for healing and other checks]

38. CreatureMaxSP [Default: 10; for stamina/spell point refill and other checks]

39. MagicResistance
[deafult: 0; might enter a special magic resistance number for magic/high level creatures here]

40. ImmuneToCriticalHits
[default: no; other:yes; some creatures are immune to critical hits; note: depending on combat engine setup might also/only also be checked via using ScriptHookforCreatureHPDamagedByPlayer]

41. ImmuneToStealthAttack [default: no; other:yes; some creatures are immune to stealth/backstab attacks; note: depending on combat engine setup might also/only also be checked via using ScriptHookforCreatureHPDamagedByPlayer]

42. CreaturePosition

43. FieldsCoveredByCreature

44. CreatureIcon

[Note: Animations, probably assignable for different attacks other different triggers?]
Last edited by youngneil1 on Wed Jan 23, 2013 9:58 am, edited 11 times in total.
User avatar
youngneil1
Backer
Backer
 
Posts: 4967
Joined: Sat Dec 08, 2012 7:51 am

Re: Properties of creatures

Postby youngneil1 » Tue Jan 22, 2013 10:29 pm

Alright, phew - quite soem concentration work. It's still far from perfect, but I hope it's good enough to be food for thought.
User avatar
youngneil1
Backer
Backer
 
Posts: 4967
Joined: Sat Dec 08, 2012 7:51 am

Re: Properties of creatures

Postby slowdive » Wed Jan 23, 2013 5:06 am

Ahh, great stuff. Keep it coming. I'll try and add all the properties as soon as possible (may take a week or so to get to it on the task list) even if they do not have functions that implement them yet.
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 3116
Joined: Wed Nov 21, 2012 11:58 pm

Re: Properties of creatures

Postby youngneil1 » Wed Jan 23, 2013 6:26 am

Great to hear! No stress in adding any of that stuff - it's just a list for inspiration (and I guess some of the stuff is for quite far down the road). I will gladly add and clean as time goes on, so I will make update posts accordingly if I change or add anything in above list.
User avatar
youngneil1
Backer
Backer
 
Posts: 4967
Joined: Sat Dec 08, 2012 7:51 am

Re: Properties of creatures

Postby youngneil1 » Wed Jan 23, 2013 6:47 am

Update:

Added:
x. UseAttackInMelee [default: yes; some ranged attacks might better not be used in melee due to Attacks of Opportunity, see below; so - a creature with bow and dagger would - depending on AI package - stay at distance, using only the attack allowed with longer range; when cornered by PCs in melee, it would then only use its dagger attack as the bow attack would be excluded here]

y. AttackTriggersAOOWhenUsedInMelee [deafult: no; usually only ranged attacks in melee trigger attacks of opportunity]

37. CreatureMaxHP [Default: 10; for healing and other checks]

38. CreatureMaxSP [Default: 10; for stamina/spell point refill and other checks]

Various explanations refined.
Last edited by youngneil1 on Wed Jan 23, 2013 6:55 am, edited 1 time in total.
User avatar
youngneil1
Backer
Backer
 
Posts: 4967
Joined: Sat Dec 08, 2012 7:51 am

Re: Properties of creatures

Postby youngneil1 » Wed Jan 23, 2013 6:55 am

I think the main challenge will be defining the relation between some of the settings here and the AI package used - we will see :-). I think it's a somewhat parallel probelm to the conditionals for events and triggers in the toolset - how much scripting/logic fucntionality to place into the toolset options themselves and how to handle integration with further custom rules in scripts?
User avatar
youngneil1
Backer
Backer
 
Posts: 4967
Joined: Sat Dec 08, 2012 7:51 am

Re: Properties of creatures

Postby youngneil1 » Wed Jan 23, 2013 7:33 am

Update:

Added:

z. IngoreDamageAbsorbtion [default: 0; the number placed here defines how much damage absorption points are ignored by attack, palcing something like 100 here will ignore all reasonable damage absorbtion]

z1. CriticalHitRoll [default: 20; number defines the natural d20roll neccessary to check for critical hit]

z2. CriticalHitDamageMultiplier [default: 2; damage multiplier on critical hit]

39. MagicResistance [deafult: 0; might enter a special magic resistance number for magic/high level creatures here]

40. ImmuneToCriticalHits [default: no; other:yes; some creatures are immune to critical hits; note: depending on combat engine setup might also/only also be checked via using ScriptHookforCreatureHPDamagedByPlayer]

41. ImmuneTo StealthAttack [default: no; other:yes; some creatures are immune to stealth/backstab attacks; note: depending on combat engine setup might also/only also be checked via using ScriptHookforCreatureHPDamagedByPlayer]
User avatar
youngneil1
Backer
Backer
 
Posts: 4967
Joined: Sat Dec 08, 2012 7:51 am

Re: Properties of creatures

Postby youngneil1 » Wed Jan 23, 2013 9:33 am

Update

Added

42. CreaturePosition

43. FieldsCoveredByCreature

44. CreatureIcon

[Note: Animations, probably assignable for different attacks other different triggers?]
User avatar
youngneil1
Backer
Backer
 
Posts: 4967
Joined: Sat Dec 08, 2012 7:51 am

Re: Properties of creatures

Postby youngneil1 » Wed Jan 23, 2013 9:59 am

Update

Added:

z3. IconForProjectile [default: Arrow]
z4. GraphicEffectOnFieldsAffected [default: none; might be nice later on to display e.g. some fireball effect]
User avatar
youngneil1
Backer
Backer
 
Posts: 4967
Joined: Sat Dec 08, 2012 7:51 am


Return to General Engine Discussion

Who is online

Users browsing this forum: No registered users and 1 guest

cron