Files
BreakEscape/planning_notes/npc/npc_behaviour/example_ink_hostile.ink
Z. Cliffe Schreuders 1f6166ccf6 Add review changes and improvements for NPC behavior implementation
- Created CHANGES_APPLIED.md to document critical clarifications and updates based on code review findings.
- Established a new review and improvements document (REVIEW_AND_IMPROVEMENTS.md) outlining 9 critical improvements and 12 enhancement opportunities for NPC behavior.
- Updated TECHNICAL_SPEC.md, IMPLEMENTATION_PLAN.md, QUICK_REFERENCE.md, and example_scenario.json with necessary changes regarding roomId tracking, sprite storage, wall collision setup, animation creation timing, and personal space behavior.
- Clarified async import patterns and depth update requirements in the implementation plan.
- Enhanced personal space behavior design to ensure NPCs back away slowly while maintaining eye contact with players.
- Documented all changes and improvements to ensure better integration with existing systems and reduce complexity in NPC behavior implementation.
2025-11-09 02:43:17 +00:00

63 lines
1.3 KiB
Plaintext

// Behavior Test - Hostile NPC
// Demonstrates hostile state and influence-based behavior changes
VAR influence = -50
=== start ===
# speaker:npc
# hostile
# influence:-50
I don't trust you. Stay back!
(Notice my red tint - I'm hostile!)
-> hub
=== hub ===
* [Why are you hostile?]
-> explain_hostility
* [I come in peace...]
-> make_peace
* [Show me your influence score]
-> show_influence
+ [Exit] #exit_conversation
# speaker:npc
{influence >= 0: Safe travels, friend. | Stay away from me.}
-> hub
=== explain_hostility ===
# speaker:npc
I'm hostile because my influence is {influence}.
My hostile threshold is -30. When influence drops below that, I become hostile automatically.
My red tint is a visual indicator of my hostile state.
In the future, I might chase or flee from you when hostile!
-> hub
=== make_peace ===
# speaker:npc
# influence:25
# hostile:false
~ influence = 25
Okay... I'll give you a chance.
My influence is now {influence}, above the threshold.
My red tint should be gone now. I'm no longer hostile.
-> hub
=== show_influence ===
# speaker:npc
Current influence: {influence}
Hostile threshold: -30
{influence < -30: I'm hostile because influence < threshold.}
{influence >= -30: I'm not hostile because influence >= threshold.}
-> hub