tweak: reduce stat drift rates and increase social cooldowns

- Halve sociability/empathy drift on positive outcome (0.05 -> 0.025)
- Halve temperament drift on negative outcome (0.02 -> 0.01)
- Increase social global cooldown (50 -> 75 ticks)
- Increase social pair cooldown (300 -> 450 ticks)
- Increase base proposal cooldown (500 -> 750)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
root
2026-03-08 21:18:03 +00:00
parent eb79c5e481
commit d58e623c14
3 changed files with 9 additions and 9 deletions
+1 -1
View File
@@ -48,7 +48,7 @@ export const relationshipConfig = {
proposalAcceptanceBonus: 5,
proposalRejectionMultiplier: 2.0,
proposalRejectionRejecterMultiplier: 0.5,
baseProposalCooldown: 500,
baseProposalCooldown: 750,
courageCooldownWeight: 0.04,
proposalAcceptanceSociabilityMod: 2,
proposalAcceptanceEmpathyMod: 1,
+6 -6
View File
@@ -126,19 +126,19 @@ export function socialSystem(world: World): void {
const statsA = world.getComponent<Stats>(e, 'stats');
if (statsA) {
if (social.outcome === 'positive') {
statsA.sociability = Math.max(3, Math.min(18, statsA.sociability + 0.05));
statsA.empathy = Math.max(3, Math.min(18, statsA.empathy + 0.05));
statsA.sociability = Math.max(3, Math.min(18, statsA.sociability + 0.025));
statsA.empathy = Math.max(3, Math.min(18, statsA.empathy + 0.025));
} else {
statsA.temperament = Math.max(3, Math.min(18, statsA.temperament + 0.02));
statsA.temperament = Math.max(3, Math.min(18, statsA.temperament + 0.01));
}
}
const statsB = world.getComponent<Stats>(partnerId!, 'stats');
if (statsB) {
if (partnerSocial.outcome === 'positive') {
statsB.sociability = Math.max(3, Math.min(18, statsB.sociability + 0.05));
statsB.empathy = Math.max(3, Math.min(18, statsB.empathy + 0.05));
statsB.sociability = Math.max(3, Math.min(18, statsB.sociability + 0.025));
statsB.empathy = Math.max(3, Math.min(18, statsB.empathy + 0.025));
} else {
statsB.temperament = Math.max(3, Math.min(18, statsB.temperament + 0.02));
statsB.temperament = Math.max(3, Math.min(18, statsB.temperament + 0.01));
}
}
+2 -2
View File
@@ -65,8 +65,8 @@ export const AWARENESS_RADIUS = 5; // Manhattan distance in tiles
export const FACING_DURATION = 10; // ticks (1s)
export const PAUSING_DURATION = 15; // ticks (1.5s)
export const EMOTING_DURATION = 20; // ticks (2s)
export const SOCIAL_GLOBAL_COOLDOWN = 50; // ticks (5s)
export const SOCIAL_PAIR_COOLDOWN = 300; // ticks (30s)
export const SOCIAL_GLOBAL_COOLDOWN = 75; // ticks (7.5s)
export const SOCIAL_PAIR_COOLDOWN = 450; // ticks (45s)
export const PROPOSAL_EMOTING_DURATION = 30; // 3 seconds - longer for dramatic effect