using UnityEngine; public class SkeletonCharacter : Character { public Weapon weaponPrefab; // Assign the weapon prefab in the inspector public GameObject arrowPrefab; // Assign the arrow prefab in the inspector protected override void InitializeStats() { MaxHealth = 10; CurrentHealth = MaxHealth; Attack = 8; Strength = 8; // Default strength Constitution = 5; Dexterity = 3; Wisdom = 2; Perception = 8; // Default perception InitModifier = -2; DamageModifier = 0; SpellModifier = 0; MovementSpeed = 10; ArmorClass = 6; } public override Character Spawn(int count) { name = "Skeleton"; CharacterName = "Skeleton"; if (count > 1) { name += " " + count; CharacterName += " " + count; } return this; } public override Weapon GetWeapon() { // Return null to trigger direct weapon creation in SpawnAndEquipWeapon return weaponPrefab == null ? CreateDirectWeapon() : weaponPrefab; } protected override Weapon CreateDirectWeapon() { // Create weapon directly without prefab system GameObject bowObject = new GameObject("Simple Bow"); bowObject.transform.SetParent(this.transform, false); SimpleBow bowComponent = bowObject.AddComponent(); bowComponent.arrowPrefab = this.arrowPrefab; spawnedWeapon = bowComponent; spawnedWeapon.SetWielder(this); return spawnedWeapon; } }