Commit graph

66 commits

Author SHA1 Message Date
fb78223973 Update GAME_RULES.md to version 2.8.1 with latest features
- Updated version info from 2.6.0 to 2.8.1 (August 14, 2025)
- Added new v2.8.0 security features (Game Lockout, Kick Player)
- Added new v2.8.1 display improvements (Real-time status, enhanced elimination)
- Updated owner menu section with new Lock/Unlock and Kick Player options
- Added comprehensive Game Security and Enhanced Display System sections
- Updated technical rules to reflect automatic reset and single linkset architecture
- Maintained all original core gameplay rules and strategies
2025-08-14 01:03:51 -05:00
152d638b3f Add complete workspace cleanup before checkout
- Now clears entire workspace except .git directory before checkout
- Ensures absolutely clean state for every build
- Uses safe find command with error suppression
- Guarantees no leftover files from previous builds can interfere
2025-08-14 00:49:33 -05:00
6696ec9ca1 Move cleanup stage to run immediately after checkout
- Cleanup now runs right after checkout, before validation
- Removes conditional 'when' clause so cleanup runs on all branches
- This ensures validation only processes clean original files
- Much more efficient - no more validating hundreds of processed files
2025-08-14 00:46:59 -05:00
9c73a60f89 Fix Jenkins shell compatibility for POSIX sh
- Replace bash [[ ]] with POSIX [ ] syntax
- Use parameter expansion  for prefix checking
- Eliminates "[[: not found" errors in Jenkins logs
- Maintains same functionality with better shell compatibility
2025-08-14 00:45:51 -05:00
f693450455 Add workspace cleanup stage to Jenkins pipeline
- Added 'Clean Workspace' stage to remove all processed_*.lsl files before preprocessing
- Fixed documentation generation to only process original source files
- This will clean up the hundreds of recursive processed files from Jenkins workspace
- Pipeline now starts with a clean slate on each build
2025-08-14 00:42:28 -05:00
6a06a4199c Fix Jenkins preprocessor recursive processing
- Only process original source files, not already-processed ones
- Add .gitignore to exclude processed files and build artifacts
- Prevents exponential explosion of processed_processed_processed... files
2025-08-14 00:40:29 -05:00
56dbdd9f9f ## [2.8.1] - 2025-08-14 2025-08-14 00:35:02 -05:00
b28970ea8e some floater and scoreboard fixes 2025-08-13 14:32:26 -05:00
f06108d99a fixed readme 2025-08-12 12:10:10 -05:00
4857f4f436 fix shell compatibility and clean up jenkins pipeline 2025-08-12 06:50:33 -05:00
b85cd4cba0 fix jenkins conditional stages using GIT_BRANCH environment variable 2025-08-12 06:46:24 -05:00
c7bb6dae6d add branch debugging to jenkins pipeline 2025-08-12 06:41:45 -05:00
46d4c66dbc fix jenkins branch detection for conditional stages 2025-08-12 06:36:48 -05:00
00c849c208 removing files that are not needed anymore 2025-08-12 06:28:53 -05:00
571e324dc7 on-rez added for reet, itwas missing when it should of been thre 2025-08-12 06:14:23 -05:00
f60d53c78e ## [2.8.0] - 2025-08-12 2025-08-12 02:25:32 -05:00
23d02080ca dice fix 2025-08-10 21:00:24 -05:00
11a4888566 Make Discord webhook optional to avoid credential errors
- Comment out NOTIFICATION_WEBHOOK credential until configured
- Pipeline should now run without credential errors
- Notifications can be added later when webhook is set up
2025-08-10 09:25:46 -05:00
cae6d16699 Fix Jenkins pipeline workspace paths and cleanWs error
- Remove cleanWs from post section to avoid context errors
- Fix all workspace paths to use current directory (.)
- Pipeline should now run properly on Jenkins agent
2025-08-10 09:24:01 -05:00
0ababdce92 Add Jenkins CI/CD pipeline for LSL automation
- Automatic LSL syntax validation on commits
- Release package generation for main branch
- Documentation updates
- Discord/Slack notifications (optional)
- Secure builds using dedicated agent
2025-08-10 09:21:30 -05:00
7f7302581a Add LSL development tools and VS Code configuration 2025-08-10 07:57:10 -05:00
d805c401d9 ## [2.6.0] - 2025-08-09 2025-08-09 21:49:27 -05:00
9f918be0c9 ## [2.6.0] - 2025-08-09 2025-08-09 21:01:57 -05:00
9e480e6bcc no longer need config 2025-08-09 10:40:38 -05:00
d53a557e43 added rules 2025-08-09 10:22:45 -05:00
63b100efa0 ## [2.6.0] - 2025-08-09 2025-08-09 09:30:15 -05:00
680473cb0e ## [2.5.0] - 2025-08-08 2025-08-08 05:13:39 -05:00
5c87a51fad ## [2.5.0] - 2025-08-08 2025-08-08 04:58:44 -05:00
0e713136d2 ## [2.4.0] - 2025-08-08 2025-08-07 19:54:36 -05:00
f8d711d3c1 ## [2.3.0] - 2025-08-05 2025-08-05 21:58:20 -05:00
0eceef2227
Rename SL_ready_element_5.png to victory.png 2025-08-04 10:18:14 -05:00
2e9d70f944
Rename SL_ready_element_3.png to Default player profile pick.png 2025-08-04 10:17:50 -05:00
86a9e61294
Rename SL_ready_element_2.png to Elimination Time.png 2025-08-04 10:17:14 -05:00
ed5d9098d9
Rename SL_ready_element_6.png to Confetti.png 2025-08-04 10:16:54 -05:00
52d030bb55
Rename SL_ready_element_7.png to Punishment time.png 2025-08-04 10:16:37 -05:00
e8aaf3eed6
Rename SL_ready_element_1.png to Title with start on it.png 2025-08-04 10:16:15 -05:00
438dddf7d4 fix images 2025-08-04 09:32:17 -05:00
c0130069b5 remove one image 2025-08-04 09:10:20 -05:00
99f20285a2 heart hud images 2025-08-04 09:08:41 -05:00
ebb85fd17b images 2025-08-04 08:08:39 -05:00
db2cacdf11
Update CHANGELOG.md
updated dates
2025-08-03 23:53:36 -05:00
723a1d1ecd Merge branch 'main' of https://github.com/RebeccaNod1/Peril 2025-08-03 23:50:17 -05:00
4069379bf1 ## [2.2.0] - 2025-08-04 2025-08-03 23:47:46 -05:00
ca0763bf22
Update README.md
don't need installation
2025-08-03 04:43:36 -05:00
494f01c7bf # Changelog
All notable changes to Peril Dice will be documented in this file.

## [2.1.0] - 2025-01-08

### ✨ Major Features Added
- **Ready State System**: Players must mark themselves ready before games can start
- **Game Protection**: Prevents players from joining games in progress
- **Performance Optimization**: Reduced lag by limiting confetti to wins only
- **Enhanced Bot Intelligence**: Improved bot behavior and duplicate number avoidance

### 🔧 Core Fixes
- **Complete Game Flow**: Fixed end-to-end gameplay from start to finish
- **Elimination Logic**: Proper handling of player elimination and game continuation
- **Win Condition**: Fixed victory detection and game ending
- **Data Synchronization**: Resolved corruption in pick data between scripts
- **Peril Player Assignment**: Fixed race conditions in peril player transitions

### 🎮 Gameplay Improvements
- **Dynamic Picking**: Number of picks now properly based on peril player's lives
- **Duplicate Prevention**: Enhanced system to prevent duplicate number selection
- **Dialog Pagination**: Improved number selection interface for d30 dice
- **Floater Updates**: Real-time HUD updates throughout gameplay
- **Bot Continuation**: Bots now properly continue games when humans are eliminated

### 🛠️ Technical Enhancements
- **Modular Communication**: Improved inter-script messaging system
- **Error Handling**: Comprehensive validation and error recovery
- **Memory Management**: Better floater cleanup and channel tracking
- **Data Encoding**: Fixed CSV conflicts with semicolon encoding system
- **State Management**: Robust game state synchronization across modules

### 🐛 Bug Fixes
- Fixed missing pick dialogs after game events
- Resolved duplicate message issues between scripts
- Fixed lives reset problems between rounds
- Corrected floater display inconsistencies
- Fixed bot confusion during player elimination
- Resolved pick data corruption issues
- Fixed peril player variable sync problems

### ⚡ Performance
- Removed confetti from life loss (keeping only victory confetti)
- Optimized debug output to reduce lag
- Improved floater management efficiency
- Enhanced bot processing speed

## [2.0.0] - 2024-12-XX

### 🎉 Initial Modular Release
- **Modular Architecture**: Separated functionality into specialized scripts
- **Bot System**: Added AI players for testing and gameplay variety
- **Floating HUD**: Real-time player statistics display
- **Dynamic Dice**: Automatic dice sizing based on player count
- **Player Management**: Runtime player joining and leaving
- **Owner Controls**: Administrative functions for game management

### 🎲 Core Game Features
- **Pick System**: Number selection with validation
- **Rolling Mechanism**: Automated dice rolling with visual effects
- **Life Management**: 3-life system with elimination
- **Peril Tracking**: Dynamic peril player assignment
- **Victory Conditions**: Last player standing wins

### 🏗️ Architecture
- **Main Controller**: Central game logic and state management
- **Dialog Handlers**: User interface and input processing
- **Roll Module**: Dice mechanics and particle effects
- **Bot Manager**: AI player behavior and automation
- **Floater Manager**: HUD display coordination
- **Game Helpers**: Utility functions and calculations

## [1.0.0] - 2024-XX-XX

### 🌟 Original Release
- Basic Peril Dice game implementation
- Manual gameplay mechanics
- Simple player tracking
- Basic dice rolling functionality

---

## Development Notes

### Known Issues
- **Bot Race Condition**: Bots may occasionally pick duplicate numbers when triggered simultaneously
- **Debug Output**: Extended games may experience minor lag from comprehensive logging

### Future Enhancements
- Serialized bot picking to eliminate race conditions
- Configurable debug levels
- Additional game modes and variants
- Enhanced visual effects and animations

### Credits
- **Original Game Design**: Noose the Bunny (djmusica28) - Second Life
- **Automation & Development**: Enhanced for automated gameplay
- **Architecture**: Modular LSL system for scalability and maintainability
2025-08-03 04:38:55 -05:00
61ff39cee0 fixed leaving game 2025-08-02 11:00:46 -05:00
d96b92a989 new bot manager 2025-08-02 10:00:14 -05:00
7e849d57c7 fixed debugger beeing dupped somehow 2025-08-02 00:22:02 -05:00
ede3f6ec75 🎲 Peril Dice — Modular Game System for Second Life
Overview
Peril Dice is a multiplayer elimination game where each player selects numbers before a die is rolled. If the peril player’s number is rolled, they lose a life. Players are eliminated when they reach zero lives.

🔧 Features
✅ Player System
Max players: 10

Each player starts with 3 lives

Players can Join, Leave, or mark themselves Ready

The first player to join gets a Start Game button

The owner can join the game and also has a special Owner menu

🎲 Dice Scaling
Dice type is automatically chosen to ensure at least 3 picks per player

Dice types supported: d6, d12, d20, d30

Player Count	Dice Type
1–2	d6
3–4	d12
5–6	d20
7–10	d30

🧍 Test Players
Owner can add/remove test players (bots)

Test players rez stat floaters at offset positions to prevent overlap

Floater objects follow players and update in real time

🪟 HUD & Stat Floaters
Players receive a floating HUD showing:

Player name

Lives

Picks

Peril status or game state

📦 Modular Architecture
Separated scripts:

Main Controller: Handles core game logic

Dialog Handler: Manages pick dialogs

Dice Selector: Returns dice type based on player count

Stat Float Manager: Rezzes and updates floaters

Stat Float Object: Displays floating text per player

🕹️ Game Flow
Players touch the controller object to join the game

Once 2+ players have joined, the first player gets the option to Start Game

Dice type is selected automatically

Each player is prompted (in order) to select 3 numbers

After all picks are made:

The dice is rolled

The result is compared to each player’s picks

If the peril player’s number is rolled or no one picked it, the peril player loses a life

The system checks for eliminations and starts the next round

🧰 Admin Controls
Owner can:

Join or leave the game

Open a special Owner menu

Add/remove test bots

Reset the game

Debug current state (optional)
2025-08-02 00:18:45 -05:00
e7b853600a updated main and diolog for owner 2025-08-01 20:09:28 -05:00