128 lines
5.8 KiB
Go
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
|
|
)
|