128 lines
5.8 KiB
Go

package tradeskills
import "time"
// Animation IDs for different tradeskill techniques
const (
// Tradeskill technique animation IDs for success
TechniqueSuccessAnim_Fletching = 17 // Fletching success animation
TechniqueSuccessAnim_Tailoring = 18 // Tailoring success animation
TechniqueSuccessAnim_Transmuting = 19 // Transmuting success animation
TechniqueSuccessAnim_Alchemy = 20 // Alchemy success animation
TechniqueSuccessAnim_Scribing = 21 // Scribing success animation
TechniqueSuccessAnim_Jewelcrafting = 22 // Jewelcrafting success animation
TechniqueSuccessAnim_Provisioning = 23 // Provisioning success animation
TechniqueSuccessAnim_Artistry = 24 // Artistry success animation
TechniqueSuccessAnim_Carpentry = 25 // Carpentry success animation
TechniqueSuccessAnim_Metalworking = 26 // Metalworking success animation
TechniqueSuccessAnim_Metalshaping = 27 // Metalshaping success animation
TechniqueSuccessAnim_Stoneworking = 28 // Stoneworking success animation
// Tradeskill technique animation IDs for failure
TechniqueFailureAnim_Fletching = 29 // Fletching failure animation
TechniqueFailureAnim_Tailoring = 30 // Tailoring failure animation
TechniqueFailureAnim_Transmuting = 31 // Transmuting failure animation
TechniqueFailureAnim_Alchemy = 32 // Alchemy failure animation
TechniqueFailureAnim_Scribing = 33 // Scribing failure animation
TechniqueFailureAnim_Jewelcrafting = 34 // Jewelcrafting failure animation
TechniqueFailureAnim_Provisioning = 35 // Provisioning failure animation
TechniqueFailureAnim_Artistry = 36 // Artistry failure animation
TechniqueFailureAnim_Carpentry = 37 // Carpentry failure animation
TechniqueFailureAnim_Metalworking = 38 // Metalworking failure animation
TechniqueFailureAnim_Metalshaping = 39 // Metalshaping failure animation
TechniqueFailureAnim_Stoneworking = 40 // Stoneworking failure animation
// Tradeskill technique animation IDs for idle/working
TechniqueIdleAnim_Fletching = 41 // Fletching idle animation
TechniqueIdleAnim_Tailoring = 42 // Tailoring idle animation
TechniqueIdleAnim_Transmuting = 43 // Transmuting idle animation
TechniqueIdleAnim_Alchemy = 44 // Alchemy idle animation
TechniqueIdleAnim_Scribing = 45 // Scribing idle animation
TechniqueIdleAnim_Jewelcrafting = 46 // Jewelcrafting idle animation
TechniqueIdleAnim_Provisioning = 47 // Provisioning idle animation
TechniqueIdleAnim_Artistry = 48 // Artistry idle animation
TechniqueIdleAnim_Carpentry = 49 // Carpentry idle animation
TechniqueIdleAnim_Metalworking = 50 // Metalworking idle animation
TechniqueIdleAnim_Metalshaping = 51 // Metalshaping idle animation
TechniqueIdleAnim_Stoneworking = 52 // Stoneworking idle animation
// Miss target animation IDs
MissTargetAnim = 53 // Miss target animation
KillMissTargetAnim = 54 // Kill miss target animation
)
// Tradeskill technique skill IDs
const (
TechniqueSkillFletching = uint32(510901003) // Fletching skill ID
TechniqueSkillTailoring = uint32(510901002) // Tailoring skill ID
TechniqueSkillTransmuting = uint32(510901008) // Transmuting skill ID
TechniqueSkillAlchemy = uint32(510901001) // Alchemy skill ID
TechniqueSkillScribing = uint32(510901007) // Scribing skill ID
TechniqueSkillJewelcrafting = uint32(510901004) // Jewelcrafting skill ID
TechniqueSkillProvisioning = uint32(510901005) // Provisioning skill ID
TechniqueSkillArtistry = uint32(510901009) // Artistry skill ID
TechniqueSkillCarpentry = uint32(510901010) // Carpentry skill ID
TechniqueSkillMetalworking = uint32(510901011) // Metalworking skill ID
TechniqueSkillMetalshaping = uint32(510901012) // Metalshaping skill ID
TechniqueSkillStoneworking = uint32(510901013) // Stoneworking skill ID
)
// Recipe component slots
const (
ComponentSlotPrimary = 0 // Primary component slot
ComponentSlotBuild1 = 1 // Build component slot 1
ComponentSlotBuild2 = 2 // Build component slot 2
ComponentSlotBuild3 = 3 // Build component slot 3
ComponentSlotBuild4 = 4 // Build component slot 4
ComponentSlotFuel = 5 // Fuel component slot
)
// Crafting progress and durability limits
const (
MaxProgress = 1000 // Maximum progress value
MaxDurability = 1000 // Maximum durability value
MinProgress = 0 // Minimum progress value
MinDurability = 0 // Minimum durability value
)
// Crafting update timing
const (
CraftingUpdateInterval = 4 * time.Second // How often crafting is processed
)
// Event outcome types
const (
EventOutcomeSuccess = "success" // Event was successfully countered
EventOutcomeFailure = "failure" // Event was not countered or failed
EventOutcomeIgnored = "ignored" // Event was ignored (no action taken)
)
// Mass production quantities
var MassProductionQuantities = []int32{1, 5, 10, 15, 20, 25} // Available mass production quantities
// Default rule values for crafting calculations
const (
DefaultCritFailChance = 0.05 // 5% critical failure chance
DefaultCritSuccessChance = 0.15 // 15% critical success chance
DefaultFailChance = 0.25 // 25% failure chance
DefaultSuccessChance = 0.55 // 55% success chance
DefaultEventChance = 0.30 // 30% event chance
)
// Progress stage thresholds for recipe completion
const (
ProgressStage1 = 400 // Stage 1 progress threshold
ProgressStage2 = 600 // Stage 2 progress threshold
ProgressStage3 = 800 // Stage 3 progress threshold
ProgressStage4 = 1000 // Stage 4 progress threshold (completion)
)
// Tradeskill UI constants
const (
MaxSkillSlotsUI = 6 // Maximum skill slots shown in UI
DefaultUnknown2Value1 = 1045220557 // Unknown packet value 1
DefaultUnknown2Value2 = 1061997773 // Unknown packet value 2
DefaultUnknown3Value = 18 // Unknown packet value 3
DefaultUnknown6Value = 11 // Unknown packet value 6
)