11/*************************************************************************
22 * ModernUO *
3- * Copyright 2019-2023 - ModernUO Development Team *
3+ * Copyright 2019-2026 - ModernUO Development Team *
4455 * File: SkillMod.cs *
66 * *
@@ -21,66 +21,44 @@ namespace Server;
2121[ SerializationGenerator ( 0 ) ]
2222public abstract partial class SkillMod : MobileMod
2323{
24- public SkillMod ( Mobile owner ) : base ( owner )
25- {
26- }
24+ [ SerializableField ( 0 ) ]
25+ private bool _obeyCap ;
2726
28- public SkillMod ( SkillName skill , string name , bool relative , double value , Mobile owner = null ) : base ( owner , name )
27+ [ SerializableFieldChanged ( 0 ) ]
28+ [ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
29+ private void OnObeCapChanged ( bool oldValue , bool newValue ) => Owner ? . Skills [ _skill ] ? . Update ( ) ;
30+
31+ [ SerializableField ( 1 ) ]
32+ private SkillName _skill ;
33+
34+ [ SerializableFieldChanged ( 1 ) ]
35+ private void OnSkillChanged ( SkillName oldValue , SkillName newValue )
2936 {
30- _skill = skill ;
31- _relative = relative ;
32- _value = value ;
37+ Owner ? . Skills [ newValue ] ? . Update ( ) ;
38+ Owner ? . Skills [ oldValue ] ? . Update ( ) ;
3339 }
3440
35- [ SerializableProperty ( 0 ) ]
36- public bool ObeyCap
37- {
38- get => _obeyCap ;
39- set
40- {
41- _obeyCap = value ;
41+ [ SerializableField ( 2 ) ]
42+ private bool _relative ;
4243
43- var sk = Owner ? . Skills [ _skill ] ;
44- sk ? . Update ( ) ;
45- MarkDirty ( ) ;
46- }
47- }
44+ [ SerializableFieldChanged ( 2 ) ]
45+ private void OnRelativeChanged ( bool oldValue , bool newValue ) => Owner ? . Skills [ _skill ] ? . Update ( ) ;
4846
49- [ SerializableProperty ( 1 ) ]
50- public SkillName Skill
51- {
52- get => _skill ;
53- set
54- {
55- if ( _skill != value )
56- {
57- var oldUpdate = Owner ? . Skills [ _skill ] ;
47+ [ SerializableField ( 3 ) ]
48+ private double _value ;
5849
59- _skill = value ;
50+ [ SerializableFieldChanged ( 3 ) ]
51+ private void OnValueChanged ( double oldValue , double newValue ) => Owner ? . Skills [ _skill ] ? . Update ( ) ;
6052
61- var sk = Owner ? . Skills [ _skill ] ;
62- sk ? . Update ( ) ;
63- oldUpdate ? . Update ( ) ;
64- MarkDirty ( ) ;
65- }
66- }
53+ public SkillMod ( Mobile owner ) : base ( owner )
54+ {
6755 }
6856
69- [ SerializableProperty ( 2 ) ]
70- public bool Relative
57+ public SkillMod ( SkillName skill , string name , bool relative , double value , Mobile owner = null ) : base ( owner , name )
7158 {
72- get => _relative ;
73- set
74- {
75- if ( _relative != value )
76- {
77- _relative = value ;
78-
79- var sk = Owner ? . Skills [ _skill ] ;
80- sk ? . Update ( ) ;
81- MarkDirty ( ) ;
82- }
83- }
59+ _skill = skill ;
60+ _relative = relative ;
61+ _value = value ;
8462 }
8563
8664 public bool Absolute
@@ -89,23 +67,6 @@ public bool Absolute
8967 set => Relative = ! value ;
9068 }
9169
92- [ SerializableProperty ( 3 ) ]
93- public double Value
94- {
95- get => _value ;
96- set
97- {
98- if ( _value != value )
99- {
100- _value = value ;
101-
102- var sk = Owner ? . Skills [ _skill ] ;
103- sk ? . Update ( ) ;
104- MarkDirty ( ) ;
105- }
106- }
107- }
108-
10970 [ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
11071 public void Remove ( ) => Owner ? . RemoveSkillMod ( this ) ;
11172
0 commit comments