スキル一覧に戻る
SimHacker

buff

by SimHacker

MOOLLM

8🍴 2📅 2026年1月24日
GitHubで見るManusで実行

SKILL.md


name: buff description: Temporary effects system — curses are just shitty buffs allowed-tools:

  • read_file
  • write_file tier: 1 protocol: BUFF-AS-MODIFIER related: [simulation, time, needs, character, cat, dog, persona, yaml-jazz] tags: [moollm, effects, curses, stats, game, modifiers]

Buff

"All effects are buffs. Some are just shitty."

Buffs modify stats, abilities, or behavior. They have durations, can stack, and come from various sources. Curses are just negative buffs — no separate system.

Structure

buff:
  name: "Caffeinated"
  source: "Espresso"
  effect: { energy: +2, focus: +1 }
  duration: 5  # simulation turns
  stacks: false
FieldPurpose
nameDisplay name
sourceWhat granted this buff
effectStat mods OR semantic prompt
durationHow long it lasts
stacksCan multiple instances exist?
max_stacksIf stacking, limit
decayHow it ends (time, action, condition)

Buff Types

Numeric

Traditional stat modifiers:

buff:
  name: "Caffeinated"
  effect: { energy: +2, focus: +1 }
  duration: 5

Semantic

Arbitrary effect prompts interpreted by the LLM — not predefined stats, just vibes:

  • "feeling lucky"
  • "cats seem to like you today"
  • "slightly cursed"
  • "radiating calm energy"
  • "shadows feel watchful"

How it works:

Buff: "cats seem to like you today"
Action: PAT TERPIE
LLM: Gives bonus, narrates extra warmth

Mixed

Combine numeric and semantic:

buff:
  name: "Terpie's Blessing"
  effect:
    calm: +2
    vibe: "cats trust you more"
  duration: "a while"

Sources

SourceExample
InteractionsPetting a cat grants joy
ConsumablesCoffee grants energy
LocationsBeing in pub grants comfort
ItemsLit lamp grants grue immunity
RelationshipsHigh friendship grants trust
PersonasWearing persona grants themed buffs

Stacking

  • Same source: Doesn't stack — refresh duration instead
  • Different sources: Stack additively up to category limit

Category Limits

terpene_effects: 3
charm_effects: 5
consumable_effects: 4
negative_effects: 3  # 3+ same negative = LEGENDARY

Synergies

Some buffs COMBINE into stronger effects:

  • Myr + Lily = "Sedation Stack"
  • Lemon + Pine = "Focus Boost"
  • All 8 kittens = "ENTOURAGE EFFECT" (legendary)

Negative Buffs (Curses)

Curses are just shitty buffs. Same structure, negative effects.

buff:
  name: "Scratched"
  source: "Failed BELLY RUB"
  effect: { hp: -1, visible_marks: true }
  duration: "Until healed"

Persistent Curses

Long-term negative buffs with lift conditions:

buff:
  name: "Curse of Darkness"
  effect: { lamp_efficiency: -25% }
  duration: conditional
  lift_condition: "Light 3 dark places"
  reward_on_lift: "LIGHT-BEARER title"

Duration Types

TypeExample
Turnsduration: 4
Conditionalduration: until you eat
While presentduration: while in pub
Permanentduration: forever
Natural languageduration: a few minutes
Probabilisticduration: 25% fade chance per turn

Natural Language Durations

We're not tracking real time — the LLM interprets and makes its best guess:

  • "forever"
  • "5 minutes"
  • "a day"
  • "until sunset"
  • "randomly 50%"
  • "a while"
  • "briefly"
  • "until you forget"

See time/ for full natural duration examples.

Decay

When LLM judges turn(s) have passed:

  1. Decrement duration on timed buffs
  2. Remove buffs that hit 0
  3. Apply new buffs from current turn

Effective Derived Values: Flags Edition

This is the effective derived values protocol for booleans.

TypeBaseModifiersEffective
Numericenergy: 5buff +2effective_energy: 7
Booleanin_darkness: falseroom.lit=false, has_lamp=falseeffective_in_darkness: true

Same pattern:

  • Numeric: base + sum(modifiers) = effective
  • Boolean: base OR any(conditions) = effective flag

Push / Pull / Latch

The LLM can handle any combination:

ModePatternExample
PullCompute on demandin_darkness derived from lamp + room state
PushSource sets flagBuff explicitly sets urgent_situation: true
LatchStays until clearedhas_visited_room_a: true persists
# PULL — derived on demand, not stored
in_darkness: (room.lit == false) AND (has_lamp == false)

# PUSH — buff explicitly sets
buff:
  sets_flags: [urgent_situation]

# LATCH — persists in state until cleared
player:
  visited_rooms: [room-a, room-b]  # grows, never shrinks

Traditional reactive systems pick one mode. The LLM does all three simultaneously — it sees the whole context and figures out which pattern applies.

Tweening and Animation

Values don't have to snap — they can interpolate over time:

TypeInstantTweened
Numericenergy: 5 → 7energy: 5 → 7 over 3 turns
Booleanlit: false → truelit: fading in over 2 turns
Positionroom-a → room-bwalking through hallway
buff:
  name: "Warming Up"
  effect: { warmth: +3 }
  tween: ease-in    # Gradual increase
  duration: 5

animation:
  entering_room:
    from: hallway
    to: pub
    frames: [approaching, at_door, stepping_in, arrived]

The LLM narrates intermediate states. "You feel yourself warming up..." not just "You are warm now."

Velocity

Any reactive variable can have a rate of change:

energy:
  value: 5
  velocity: -1      # Draining 1 per turn
  
trust:
  value: 45
  velocity: +3      # Building rapport
  
mood:
  value: "content"
  velocity: "improving"  # Semantic velocity works too
VariableValueVelocityMeaning
energy5-1Tired and getting worse
trust45+3Relationship strengthening
positionroom-anorthMoving northward
moodanxiouscalmingSettling down

The LLM reads velocity to predict and narrate: "You're running low on energy and fading fast..." vs "Low energy but recovering."

Physics Simulation

Extend to full 2D/3D cartoon physics:

thrown_ball:
  position: [5, 3]
  velocity: [2, 4]       # Moving up-right
  acceleration: [0, -1]  # Gravity pulling down
  
bouncing:
  elasticity: 0.8        # Loses 20% on bounce
  
cartoon_physics:
  hang_time: true        # Pause at apex
  squash_stretch: true   # Deform on impact
  delayed_fall: true     # Look down first, then fall

The LLM narrates physics with cartoon timing:

The ball arcs gracefully upward... hangs for a moment at the peak... then plummets, SQUASHING flat against the floor before bouncing back slightly less enthusiastically.

Works for:

  • Thrown objects (ball, inventory items)
  • Character movement (jumping, falling, knockback)
  • Environmental effects (swinging doors, rolling boulders)
  • Looney Tunes logic (run off cliff, pause, look down, THEN fall)
  • Temperature cooling or warming (ice cream melting, water freezing)

Commands

CommandEffect
BUFFS or STATUSList active buffs with remaining duration
EXAMINE [buff]Full details of buff source, effect, duration

スコア

総合スコア

60/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です